#pragma once #include "cmixprotofunctor.hpp" #include "receiver.hpp" #include "sender.hpp" #include "protobufclient.hpp" /*! * \file */ /*! * \brief The SenderReciever struct is a shim around ProtobufClient and only exposes things needed * for Sending and Receiving messages. */ struct SenderReceiver : private ProtobufClient { /*! * \brief SenderReceiver Explicit conversion to SenderReceiver * \param r The Receiver to upgrade */ explicit SenderReceiver(Receiver&& r); /*! * \brief SenderReceiver Explicit conversion to SenderReceiver * \param s The Sender to upgrade */ explicit SenderReceiver(Sender&& s); using ProtobufClient::ProtobufClient; using ProtobufClient::async_receive; using ProtobufClient::async_send; using ProtobufClient::async_connect; using ProtobufClient::close; using ProtobufClient::on_done; using ProtobufClient::is_open; };