1 #include "otsdaq-core/NetworkUtilities/TransceiverSocket.h"
2 #include "otsdaq-core/MessageFacility/MessageFacility.h"
3 #include "otsdaq-core/Macros/CoutHeaderMacros.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)
29 int TransceiverSocket::acknowledge(
const std::string& buffer,
34 std::lock_guard<std::mutex> lock(sendMutex_);
38 __COUT__ <<
"Acknowledging on Socket Descriptor #: " << socketNumber_ <<
39 " from-port: " << ntohs(socketAddress_.sin_port) <<
40 " to-port: " << ntohs(ReceiverSocket::fromAddress_.sin_port) << std::endl;
42 constexpr
size_t MAX_SEND_SIZE = 65500;
43 if(buffer.size() > MAX_SEND_SIZE)
45 __COUT__ <<
"Too large! Error writing buffer from port " <<
46 ntohs(TransmitterSocket::socketAddress_.sin_port) <<
": " << std::endl;
51 size_t thisSize = buffer.size();
52 int sendToSize = sendto(socketNumber_,
53 buffer.c_str() + offset,
56 (
struct sockaddr *)&(ReceiverSocket::fromAddress_),
sizeof(sockaddr_in));
61 __COUT__ <<
"Error writing buffer from port " <<
62 ntohs(TransmitterSocket::socketAddress_.sin_port) <<
": " <<
63 strerror(errno) << std::endl;