9 #include "../NetworkCommsInterface.hpp"
10 #include "gmlc/containers/BlockingQueue.hpp"
17 namespace gmlc::networking {
18 class AsioContextManager;
22 namespace helics::tcp {
34 virtual void setFlag(std::string_view flag,
bool val)
override;
37 bool reuse_address{
false};
38 std::string encryption_config;
39 virtual int getDefaultBrokerPort()
const override;
40 virtual void queue_rx_function()
override;
41 virtual void queue_tx_function()
override;
43 virtual void closeReceiver()
override;
46 bool establishBrokerConnection(
47 std::shared_ptr<gmlc::networking::AsioContextManager>& ioctx,
48 std::shared_ptr<gmlc::networking::TcpConnection>& brokerConnection);
53 gmlc::containers::BlockingQueue<ActionMessage> rxMessageQueue;
55 void txReceive(
const char* data,
size_t bytes_received,
const std::string& errorMessage);
63 size_t dataReceive(gmlc::networking::TcpConnection* connection,
65 size_t bytes_received);
Definition: ActionMessage.hpp:30
Definition: NetworkBrokerData.hpp:23
Definition: NetworkCommsInterface.hpp:18
Definition: TcpComms.h:25
~TcpComms()
Definition: TcpComms.cpp:64
TcpComms() noexcept
Definition: TcpComms.cpp:27
virtual void setFlag(std::string_view flag, bool val) override
Definition: TcpComms.cpp:46
virtual void loadNetworkInfo(const NetworkBrokerData &netInfo) override
Definition: TcpComms.cpp:35