MCPcopy Create free account
hub / github.com/MonaSolutions/MonaServer / UDPEchoClient

Method UDPEchoClient

UnitTests/sources/SocketTest.cpp:125–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123class UDPEchoClient {
124public:
125 UDPEchoClient(const SocketManager& manager,bool parallel) : _socket(manager) ,_mutex(!parallel),parallel(parallel) {
126 onError = [this](const Exception& ex) {
127 FATAL_ERROR("UDPEchoClient, ",ex.error());
128 };
129 onPacket = [this](PoolBuffer& pBuffer,const SocketAddress& address) {
130 lock_guard<Mutex> lock(_mutex);
131 CHECK(_address == address);
132 CHECK(_datas.front().size() == pBuffer->size() && memcmp(_datas.front().data(), pBuffer->data(), pBuffer->size()) == 0);
133 _datas.pop_front();
134 if (this->parallel)
135 _signal.set();
136 };
137 _socket.OnError::subscribe(onError);
138 _socket.OnPacket::subscribe(onPacket);
139 }
140
141 const bool parallel;
142

Callers

nothing calls this directly

Calls 5

errorMethod · 0.80
frontMethod · 0.80
sizeMethod · 0.45
dataMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected