summaryrefslogtreecommitdiff
path: root/forstio/io/io_helpers.h
diff options
context:
space:
mode:
Diffstat (limited to 'forstio/io/io_helpers.h')
-rw-r--r--forstio/io/io_helpers.h53
1 files changed, 0 insertions, 53 deletions
diff --git a/forstio/io/io_helpers.h b/forstio/io/io_helpers.h
deleted file mode 100644
index 94e37f4..0000000
--- a/forstio/io/io_helpers.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#pragma once
-
-#include <forstio/async/async.h>
-#include <forstio/core/common.h>
-
-#include <cstdint>
-#include <optional>
-
-namespace saw {
-/*
- * Helper classes for the specific driver implementations
- */
-
-/*
- * Since I don't want to repeat these implementations for tls on unix systems
- * and gnutls doesn't let me write or read into buffers I have to have this kind
- * of strange abstraction. This may also be reusable for windows/macOS though.
- */
-class input_stream;
-
-class read_task_and_step_helper {
-public:
- struct read_io_task {
- void *buffer;
- size_t min_length;
- size_t max_length;
- size_t already_read = 0;
- };
- std::optional<read_io_task> read_task;
- own<conveyor_feeder<size_t>> read_done = nullptr;
-
- own<conveyor_feeder<void>> on_read_disconnect = nullptr;
-
-public:
- void read_step(input_stream &reader);
-};
-
-class output_stream;
-
-class write_task_and_step_helper {
-public:
- struct write_io_task {
- const void *buffer;
- size_t length;
- size_t already_written = 0;
- };
- std::optional<write_io_task> write_task;
- own<conveyor_feeder<size_t>> write_done = nullptr;
-
-public:
- void write_step(output_stream &writer);
-};
-} // namespace saw