MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / open

Method open

tools/rtpsrelay/RelayHandler.cpp:69–107  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67}
68
69int RelayHandler::open(const ACE_INET_Addr& address)
70{
71 if (socket_.open(address) != 0) {
72 ACE_ERROR((LM_ERROR, "(%P|%t) ERROR: RelayHandler::open %C failed to open socket on '%C'\n",
73 name_.c_str(), OpenDDS::DCPS::LogAddr(address).c_str()));
74 return -1;
75 }
76 if (socket_.enable(ACE_NONBLOCK) != 0) {
77 ACE_ERROR((LM_ERROR, "(%P|%t) ERROR: RelayHandler::open %C failed to enable ACE_NONBLOCK\n", name_.c_str()));
78 return -1;
79 }
80
81 int buffer_size = config_.buffer_size();
82
83 if (socket_.set_option(SOL_SOCKET,
84 SO_SNDBUF,
85 (void *) &buffer_size,
86 sizeof(buffer_size)) < 0
87 && errno != ENOTSUP) {
88 ACE_ERROR((LM_ERROR, "(%P|%t) ERROR: RelayHandler::open %C failed to set the send buffer size to %d errno %m\n", name_.c_str(), buffer_size));
89 return -1;
90 }
91
92 if (socket_.set_option(SOL_SOCKET,
93 SO_RCVBUF,
94 (void *) &buffer_size,
95 sizeof(buffer_size)) < 0
96 && errno != ENOTSUP) {
97 ACE_ERROR((LM_ERROR, "(%P|%t) ERROR: RelayHandler::open %C failed to set the receive buffer size to %d errno %m\n", name_.c_str(), buffer_size));
98 return -1;
99 }
100
101 if (reactor()->register_handler(this, READ_MASK) != 0) {
102 ACE_ERROR((LM_ERROR, "(%P|%t) ERROR: RelayHandler::open %C failed to register READ_MASK handler\n", name_.c_str()));
103 return -1;
104 }
105
106 return 0;
107}
108
109int RelayHandler::handle_input(ACE_HANDLE handle)
110{

Callers 1

runFunction · 0.45

Calls 3

register_handlerMethod · 0.80
enableMethod · 0.45
buffer_sizeMethod · 0.45

Tested by

no test coverage detected