1 #include "otsdaq-core/NetworkUtilities/TransceiverSocket.h"
2 #include "otsdaq-core/Macros/CoutMacros.h"
3 #include "otsdaq-core/MessageFacility/MessageFacility.h"
10 TransceiverSocket::TransceiverSocket(
void)
12 __COUT__ <<
"TransceiverSocket constructor " << __E__;
16 TransceiverSocket::TransceiverSocket(std::string IPAddress,
unsigned int port)
19 __COUT__ <<
"TransceiverSocket constructor " << IPAddress <<
":" << port << __E__;
23 TransceiverSocket::~TransceiverSocket(
void) {}
27 int TransceiverSocket::acknowledge(
const std::string& buffer,
bool verbose)
30 std::lock_guard<std::mutex> lock(sendMutex_);
33 __COUT__ <<
"Acknowledging on Socket Descriptor #: " << socketNumber_
34 <<
" from-port: " << ntohs(socketAddress_.sin_port)
35 <<
" to-port: " << ntohs(ReceiverSocket::fromAddress_.sin_port)
38 constexpr
size_t MAX_SEND_SIZE = 65500;
39 if(buffer.size() > MAX_SEND_SIZE)
41 __COUT__ <<
"Too large! Error writing buffer from port "
42 << ntohs(TransmitterSocket::socketAddress_.sin_port) <<
": "
48 size_t thisSize = buffer.size();
49 int sendToSize = sendto(socketNumber_,
50 buffer.c_str() + offset,
53 (
struct sockaddr*)&(ReceiverSocket::fromAddress_),
58 __COUT__ <<
"Error writing buffer from port "
59 << ntohs(TransmitterSocket::socketAddress_.sin_port) <<
": "
60 << strerror(errno) << std::endl;