summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp34
1 files changed, 12 insertions, 22 deletions
diff --git a/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp b/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
index c7daca5cffd..78983c10989 100644
--- a/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
+++ b/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
@@ -46,29 +46,18 @@ TAO_IOR_Multicast::init (const char *ior,
TAO_Service_ID service_id)
{
this->service_id_ = service_id;
+ this->mcast_addr_.set (port, mcast_addr);
this->ior_ = ior;
- if (this->mcast_addr_.set (port,
- mcast_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "set"),
- -1);
- else if (this->response_addr_.set ((u_short) 0) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "set"),
- -1);
- else if (this->response_.open (this->response_addr_) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "set"),
- -1);
+ this->response_addr_.set ((u_short) 0);
+ this->response_.open (this->response_addr_);
+
// Use ACE_SOCK_Dgram_Mcast factory to subscribe to multicast group.
- else if (this->mcast_dgram_.subscribe (this->mcast_addr_) == -1)
+ if (this->mcast_dgram_.subscribe (this->mcast_addr_) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
"%p\n",
"subscribe"),
-1);
+
return 0;
}
@@ -82,8 +71,7 @@ TAO_IOR_Multicast::handle_timeout (const ACE_Time_Value &,
int
TAO_IOR_Multicast::handle_input (ACE_HANDLE)
{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Entered TAO_IOR_Multicast::handle_input\n"));
+ ACE_DEBUG ((LM_DEBUG, "TAO_IOR_Multicast::Handle_input\n"));
// The length of the service name string that follows.
CORBA::Short header;
@@ -97,7 +85,7 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
// Take a peek at the header to find out how long is the service
// name string we should receive.
ssize_t n = this->mcast_dgram_.recv (&header,
- sizeof (header),
+ sizeof(header),
remote_addr,
MSG_PEEK);
if (n <= 0)
@@ -105,6 +93,7 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
"TAO_IOR_Multicast::handle_input - peek %d\n",
n),
0);
+
else if (ACE_NTOHS (header) <= 0)
ACE_ERROR_RETURN ((LM_ERROR,
"Header value < 1\n"),
@@ -115,7 +104,7 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
iovec iov[iovcnt];
iov[0].iov_base = (char *) &header;
- iov[0].iov_len = sizeof (header);
+ iov[0].iov_len = sizeof(header);
iov[1].iov_base = (char *) &remote_port;
iov[1].iov_len = sizeof (ACE_UINT16);
iov[2].iov_base = (char *) service_name;
@@ -163,7 +152,7 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
// Reply to the multicast message.
ACE_SOCK_Connector connector;
ACE_INET_Addr peer_addr (ACE_NTOHS (remote_port),
- remote_addr.get_host_addr ());
+ remote_addr.get_host_name ());
ACE_SOCK_Stream stream;
// Connect.
@@ -193,6 +182,7 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
ssize_t result = stream.sendv_n (iovp,
cnt);
+
// Close the stream.
stream.close ();