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.cpp74
1 files changed, 22 insertions, 52 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
index c6e919c2dd3..d5a240a1336 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];
@@ -229,8 +219,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;
@@ -256,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;
@@ -277,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;
@@ -364,14 +354,14 @@ TAO_ECG_UDP_Sender::send_fragment (const RtecUDPAdmin::UDP_Addr& udp_addr,
// @@ TODO Use a Event Channel specific exception
ACE_DEBUG ((LM_DEBUG,
"ECG_UDP (%t) send failed %p\n", ""));
- TAO_THROW(CORBA::COMM_FAILURE ());
+ TAO_THROW(CORBA::COMM_FAILURE (CORBA::COMPLETED_NO));
}
else if (n == 0)
{
// @@ TODO Use a Event Channel specific exception
ACE_DEBUG ((LM_DEBUG,
"ECG_UDP (%t) EOF on send \n"));
- TAO_THROW(CORBA::COMM_FAILURE ());
+ TAO_THROW(CORBA::COMM_FAILURE (CORBA::COMPLETED_NO));
}
}
@@ -702,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
@@ -1065,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;
}
@@ -1137,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 ()));