summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/async/c++/async.hpp6
-rw-r--r--modules/async/c++/async.tmpl.hpp4
-rw-r--r--modules/io_codec/c++/io_peer.hpp3
-rw-r--r--modules/io_codec/c++/io_peer.tmpl.hpp2
4 files changed, 8 insertions, 7 deletions
diff --git a/modules/async/c++/async.hpp b/modules/async/c++/async.hpp
index ba994fd..bb56952 100644
--- a/modules/async/c++/async.hpp
+++ b/modules/async/c++/async.hpp
@@ -321,7 +321,7 @@ public:
virtual size_t space() const = 0;
virtual size_t queued() const = 0;
- virtual error swap(conveyor<T> &&conveyor) noexcept = 0;
+ virtual error_or<void> swap(conveyor<T> &&conveyor) noexcept = 0;
};
template <> class conveyor_feeder<void> {
@@ -334,7 +334,7 @@ public:
virtual size_t space() const = 0;
virtual size_t queued() const = 0;
- virtual error swap(conveyor<void_t> &&conveyor) noexcept = 0;
+ virtual error_or<void> swap(conveyor<void_t> &&conveyor) noexcept = 0;
};
template <typename T> struct conveyor_and_feeder {
@@ -535,7 +535,7 @@ public:
size_t space() const override;
size_t queued() const override;
- error swap(conveyor<T> &&conv) noexcept override;
+ error_or<void> swap(conveyor<T> &&conv) noexcept override;
};
template <typename T>
diff --git a/modules/async/c++/async.tmpl.hpp b/modules/async/c++/async.tmpl.hpp
index 7016283..0c38d04 100644
--- a/modules/async/c++/async.tmpl.hpp
+++ b/modules/async/c++/async.tmpl.hpp
@@ -580,14 +580,14 @@ template <typename T> size_t adapt_conveyor_feeder<T>::space() const {
}
template <typename T>
-error adapt_conveyor_feeder<T>::swap(conveyor<T> &&conv) noexcept {
+error_or<void> adapt_conveyor_feeder<T>::swap(conveyor<T> &&conv) noexcept {
SAW_ASSERT(feedee_) { return make_error<err::invalid_state>("No feedee connected"); }
auto node = conveyor<T>::from_conveyor(std::move(conv));
feedee_->swap_child(std::move(node));
- return no_error();
+ return void_t{};
}
template <typename T>
diff --git a/modules/io_codec/c++/io_peer.hpp b/modules/io_codec/c++/io_peer.hpp
index ab26f61..91c6488 100644
--- a/modules/io_codec/c++/io_peer.hpp
+++ b/modules/io_codec/c++/io_peer.hpp
@@ -62,7 +62,8 @@ private:
size_t space() const override { return 0; }
size_t queued() const override { return 0; }
-
+
+ error_or<void> swap(conveyor<data<Outgoing, Encoding>> &&conveyor) noexcept override { return make_error<err::not_implemented>();}
private:
streaming_io_peer<Incoming, Outgoing, Encoding,
BufferT> &peer_;
diff --git a/modules/io_codec/c++/io_peer.tmpl.hpp b/modules/io_codec/c++/io_peer.tmpl.hpp
index 3dc11c8..4e20bd0 100644
--- a/modules/io_codec/c++/io_peer.tmpl.hpp
+++ b/modules/io_codec/c++/io_peer.tmpl.hpp
@@ -110,7 +110,7 @@ new_streaming_io_peer(own<async_io_stream> stream) {
auto caf =
new_conveyor_and_feeder<data<Incoming>>();
- return {heap<streaming_io_peer<Incoming, Outgoing, BufferT>>(
+ return {heap<streaming_io_peer<Incoming, Outgoing, Encoding,BufferT>>(
std::move(caf.feeder), std::move(stream)),
std::move(caf.conveyor)};
}