aboutsummaryrefslogtreecommitdiff
path: root/libcmix-common/receiver.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcmix-common/receiver.hpp')
-rw-r--r--libcmix-common/receiver.hpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/libcmix-common/receiver.hpp b/libcmix-common/receiver.hpp
index 8a73e9c..efd3753 100644
--- a/libcmix-common/receiver.hpp
+++ b/libcmix-common/receiver.hpp
@@ -21,6 +21,7 @@ struct Receiver : private ProtobufClient<CMixProtoFunctor>
friend SenderReceiver;
using ProtobufClient::ProtobufClient;
+ using ProtobufClient::operator=;
using ProtobufClient::async_receive;
@@ -32,3 +33,30 @@ struct Receiver : private ProtobufClient<CMixProtoFunctor>
using ProtobufClient::is_open;
};
+
+struct SSLSenderReceiver;
+
+/*!
+ * \brief The Receiver struct is a shim around ProtobufClient and only exposes things needed
+ * for receiving messages.
+ */
+struct SSLReceiver : private SSLProtobufClient<CMixProtoFunctor>
+{
+ /*!
+ * \brief friend decleration allowing Receivers to be upgraded to SenderReceivers.
+ */
+ friend SSLSenderReceiver;
+
+ using SSLProtobufClient::SSLProtobufClient;
+ using SSLProtobufClient::operator=;
+
+ using SSLProtobufClient::async_receive;
+
+ using SSLProtobufClient::async_connect;
+
+ using SSLProtobufClient::close;
+
+ using SSLProtobufClient::on_done;
+
+ using SSLProtobufClient::is_open;
+};