summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp77
1 files changed, 22 insertions, 55 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
index 4f21aa4744d..e244d0d3eb9 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
@@ -98,26 +98,16 @@ TAO_ECG_UDP_Sender::open (RtecEventChannelAdmin::ConsumerQOS& sub,
}
void
-TAO_ECG_UDP_Sender::close (CORBA::Environment &ACE_TRY_ENV)
+TAO_ECG_UDP_Sender::close (CORBA::Environment &env)
{
// ACE_DEBUG ((LM_DEBUG, "ECG (%t) Closing gateway\n"));
if (CORBA::is_nil (this->supplier_proxy_.in ()))
return;
- this->supplier_proxy_->disconnect_push_supplier (ACE_TRY_ENV);
- ACE_CHECK;
-
+ this->supplier_proxy_->disconnect_push_supplier (env);
+ if (env.exception () != 0) return;
this->supplier_proxy_ =
RtecEventChannelAdmin::ProxyPushSupplier::_nil ();
-
- PortableServer::POA_var poa =
- this->_default_POA (ACE_TRY_ENV);
- ACE_CHECK;
- PortableServer::ObjectId_var id =
- poa->servant_to_id (this, ACE_TRY_ENV);
- ACE_CHECK;
- poa->deactivate_object (id.in (), ACE_TRY_ENV);
- ACE_CHECK;
}
void
@@ -130,7 +120,7 @@ TAO_ECG_UDP_Sender::disconnect_push_consumer (CORBA::Environment &)
void
TAO_ECG_UDP_Sender::push (const RtecEventComm::EventSet &events,
- CORBA::Environment & ACE_TRY_ENV)
+ CORBA::Environment & TAO_IN_ENV)
{
// ACE_DEBUG ((LM_DEBUG, "ECG_UDP_Sender::push - \n"));
@@ -167,8 +157,8 @@ TAO_ECG_UDP_Sender::push (const RtecEventComm::EventSet &events,
// Grab the right mcast group for this event...
RtecUDPAdmin::UDP_Addr udp_addr;
- this->addr_server_->get_addr (header, udp_addr, ACE_TRY_ENV);
- ACE_CHECK;
+ this->addr_server_->get_addr (header, udp_addr, TAO_IN_ENV);
+ TAO_CHECK_ENV_RETURN_VOID(TAO_IN_ENV);
// Start building the message
TAO_OutputCDR cdr;
@@ -177,11 +167,11 @@ TAO_ECG_UDP_Sender::push (const RtecEventComm::EventSet &events,
// marshal a modified version of the header, but the payload is
// marshal without any extra copies.
cdr.write_ulong (1);
- cdr.encode (RtecEventComm::_tc_EventHeader, &header, 0, ACE_TRY_ENV);
- ACE_CHECK;
+ cdr.encode (RtecEventComm::_tc_EventHeader, &header, 0, TAO_IN_ENV);
+ TAO_CHECK_ENV_RETURN_VOID(TAO_IN_ENV);
- cdr.encode (RtecEventComm::_tc_EventData, &e.data, 0, ACE_TRY_ENV);
- ACE_CHECK;
+ cdr.encode (RtecEventComm::_tc_EventData, &e.data, 0, TAO_IN_ENV);
+ TAO_CHECK_ENV_RETURN_VOID(TAO_IN_ENV);
const int TAO_WRITEV_MAX = IOV_MAX;
iovec iov[TAO_WRITEV_MAX];
@@ -207,9 +197,7 @@ TAO_ECG_UDP_Sender::push (const RtecEventComm::EventSet &events,
{
CORBA::ULong l = b->length ();
- char* rd_ptr = b->rd_ptr ();
-
- iov[iovcnt].iov_base = rd_ptr;
+ iov[iovcnt].iov_base = b->rd_ptr ();
iov[iovcnt].iov_len = l;
fragment_size += l;
iovcnt++;
@@ -231,16 +219,15 @@ TAO_ECG_UDP_Sender::push (const RtecEventComm::EventSet &events,
fragment_count,
iov,
iovcnt,
- ACE_TRY_ENV);
- ACE_CHECK;
+ TAO_IN_ENV);
+ TAO_CHECK_ENV_RETURN_VOID(TAO_IN_ENV);
fragment_id++;
fragment_offset += max_fragment_payload;
// Reset, but don't forget that the last Message_Block
// may need to be sent in multiple fragments..
l -= last_mb_length;
- rd_ptr += last_mb_length;
- iov[1].iov_base = rd_ptr;
+ iov[1].iov_base = b->rd_ptr () + last_mb_length;
iov[1].iov_len = l;
fragment_size = l;
iovcnt = 2;
@@ -259,8 +246,8 @@ TAO_ECG_UDP_Sender::push (const RtecEventComm::EventSet &events,
fragment_count,
iov,
iovcnt,
- ACE_TRY_ENV);
- ACE_CHECK;
+ TAO_IN_ENV);
+ TAO_CHECK_ENV_RETURN_VOID(TAO_IN_ENV);
fragment_id++;
fragment_offset += max_fragment_payload;
@@ -280,8 +267,8 @@ TAO_ECG_UDP_Sender::push (const RtecEventComm::EventSet &events,
fragment_count,
iov,
iovcnt,
- ACE_TRY_ENV);
- ACE_CHECK;
+ TAO_IN_ENV);
+ TAO_CHECK_ENV_RETURN_VOID(TAO_IN_ENV);
fragment_id++;
fragment_offset += fragment_size;
@@ -705,26 +692,17 @@ TAO_ECG_UDP_Receiver::open (RtecEventChannelAdmin::SupplierQOS& pub,
}
void
-TAO_ECG_UDP_Receiver::close (CORBA::Environment &ACE_TRY_ENV)
+TAO_ECG_UDP_Receiver::close (CORBA::Environment &env)
{
// ACE_DEBUG ((LM_DEBUG, "ECG (%t) Closing gateway\n"));
if (CORBA::is_nil (this->consumer_proxy_.in ()))
return;
- this->consumer_proxy_->disconnect_push_consumer (ACE_TRY_ENV);
- ACE_CHECK;
-
+ this->consumer_proxy_->disconnect_push_consumer (env);
+ if (env.exception () != 0) return;
this->consumer_proxy_ =
RtecEventChannelAdmin::ProxyPushConsumer::_nil ();
- PortableServer::POA_var poa =
- this->_default_POA (ACE_TRY_ENV);
- ACE_CHECK;
- PortableServer::ObjectId_var id =
- poa->servant_to_id (this, ACE_TRY_ENV);
- ACE_CHECK;
- poa->deactivate_object (id.in (), ACE_TRY_ENV);
- ACE_CHECK;
}
void
@@ -1068,17 +1046,6 @@ TAO_ECG_Mcast_EH::close (CORBA::Environment& TAO_IN_ENV)
this->handle_ = 0;
TAO_CHECK_ENV_RETURN (TAO_IN_ENV, -1);
- {
- PortableServer::POA_var poa =
- this->observer_._default_POA (ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
- PortableServer::ObjectId_var id =
- poa->servant_to_id (&this->observer_, ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
- poa->deactivate_object (id.in (), ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
- }
-
return 0;
}
@@ -1140,7 +1107,7 @@ TAO_ECG_Mcast_EH::update_consumer (const RtecEventChannelAdmin::ConsumerQOS& sub
ACE_INET_Addr inet_addr (addr.port, addr.ipaddr);
if (this->subscribe (inet_addr) == -1)
- ACE_ERROR ((LM_ERROR,
+ ACE_ERROR ((LM_DEBUG,
"cannot subscribe to %s:%d\n",
inet_addr.get_host_addr (),
inet_addr.get_port_number ()));