diff options
Diffstat (limited to 'forstio/io/io_helpers.h')
-rw-r--r-- | forstio/io/io_helpers.h | 53 |
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 |