#include <ECG_UDP_Sender.h>
Inheritance diagram for TAO_ECG_UDP_Sender:
~TAO_ECG_UDP_Sender (void) | |
void | init (RtecEventChannelAdmin::EventChannel_ptr lcl_ec, RtecUDPAdmin::AddrServer_ptr addr_server, TAO_ECG_Refcounted_Endpoint endpoint_rptr) |
void | connect (const RtecEventChannelAdmin::ConsumerQOS &sub) |
Connect or reconnect to the EC with the given subscriptions. | |
void | shutdown (void) |
static TAO_EC_Servant_Var< TAO_ECG_UDP_Sender > | create (CORBA::Boolean crc=0) |
Initialization and termination methods. | |
Public Member Functions | |
int | mtu (CORBA::ULong mtu) |
Accessors. | |
CORBA::ULong | mtu (void) const |
Accessors. | |
int | get_local_addr (ACE_INET_Addr &addr) |
Get the local endpoint used to send the events. | |
virtual void | disconnect_push_consumer (void) throw (CORBA::SystemException) |
The PushConsumer methods. | |
virtual void | push (const RtecEventComm::EventSet &events) throw (CORBA::SystemException) |
The PushConsumer methods. | |
Protected Member Functions | |
TAO_ECG_UDP_Sender (CORBA::Boolean crc=0) | |
Private Types | |
typedef TAO_EC_Auto_Command< TAO_ECG_UDP_Sender_Disconnect_Command > | ECG_Sender_Auto_Proxy_Disconnect |
Private Member Functions | |
void | new_connect (const RtecEventChannelAdmin::ConsumerQOS &sub) |
Helpers for the connect() method. | |
void | reconnect (const RtecEventChannelAdmin::ConsumerQOS &sub) |
Helpers for the connect() method. | |
Private Attributes | |
RtecEventChannelAdmin::ProxyPushSupplier_var | supplier_proxy_ |
Proxy used to receive events from the Event Channel. | |
RtecEventChannelAdmin::EventChannel_var | lcl_ec_ |
Event Channel to which we act as a consumer. | |
RtecUDPAdmin::AddrServer_var | addr_server_ |
We query this object to determine where the events should be sent. | |
TAO_ECG_CDR_Message_Sender | cdr_sender_ |
Helper for fragmenting and sending cdr-encoded events using udp. | |
ECG_Sender_Auto_Proxy_Disconnect | auto_proxy_disconnect_ |
Manages our connection to Supplier Proxy. |
typedef TAO_EC_Auto_Command<TAO_ECG_UDP_Sender_Disconnect_Command> TAO_ECG_UDP_Sender::ECG_Sender_Auto_Proxy_Disconnect [private] |
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ECG_UDP_Sender::~TAO_ECG_UDP_Sender | ( | void | ) |
TAO_ECG_UDP_Sender::TAO_ECG_UDP_Sender | ( | CORBA::Boolean | crc = 0 |
) | [protected] |
Constructor (protected). Clients can create new TAO_ECG_UDP_Sender objects using the static create() method.
void TAO_ECG_UDP_Sender::connect | ( | const RtecEventChannelAdmin::ConsumerQOS & | sub | ) |
Connect or reconnect to the EC with the given subscriptions.
NOTE: if we are already connected to EC and a reconnection is necessary, the EC must have reconnects enabled in order for this method to succeed.
static TAO_EC_Servant_Var<TAO_ECG_UDP_Sender> TAO_ECG_UDP_Sender::create | ( | CORBA::Boolean | crc = 0 |
) | [static] |
Initialization and termination methods.
Create a new TAO_ECG_UDP_Sender object. (Constructor access is restricted to insure that all TAO_ECG_UDP_Sender objects are heap-allocated.)
void TAO_ECG_UDP_Sender::disconnect_push_consumer | ( | void | ) | throw (CORBA::SystemException) [virtual] |
The PushConsumer methods.
Invokes shutdown (), which may result in the object being deleted, if refcounting is used to manage its lifetime.
int TAO_ECG_UDP_Sender::get_local_addr | ( | ACE_INET_Addr & | addr | ) |
Get the local endpoint used to send the events.
void TAO_ECG_UDP_Sender::init | ( | RtecEventChannelAdmin::EventChannel_ptr | lcl_ec, | |
RtecUDPAdmin::AddrServer_ptr | addr_server, | |||
TAO_ECG_Refcounted_Endpoint | endpoint_rptr | |||
) |
lcl_ec | Event Channel to which we will act as a consumer of events. | |
addr_server | Address server used to obtain event type to multicast group mapping. | |
endpoint_rptr | Endpoint for sending udp/multicast messages. Endpoint's dgram must be open! |
CORBA::ULong TAO_ECG_UDP_Sender::mtu | ( | void | ) | const |
Accessors.
The sender may need to fragment the message, otherwise the network may drop the packets. Setting the MTU can fail if the value is too small (at least the header + 8 bytes must fit).
int TAO_ECG_UDP_Sender::mtu | ( | CORBA::ULong | mtu | ) |
Accessors.
The sender may need to fragment the message, otherwise the network may drop the packets. Setting the MTU can fail if the value is too small (at least the header + 8 bytes must fit).
void TAO_ECG_UDP_Sender::new_connect | ( | const RtecEventChannelAdmin::ConsumerQOS & | sub | ) | [private] |
Helpers for the connect() method.
void TAO_ECG_UDP_Sender::push | ( | const RtecEventComm::EventSet & | events | ) | throw (CORBA::SystemException) [virtual] |
The PushConsumer methods.
Invokes shutdown (), which may result in the object being deleted, if refcounting is used to manage its lifetime.
void TAO_ECG_UDP_Sender::reconnect | ( | const RtecEventChannelAdmin::ConsumerQOS & | sub | ) | [private] |
Helpers for the connect() method.
void TAO_ECG_UDP_Sender::shutdown | ( | void | ) |
Calling this method may result in decrementing of the reference count (due to deactivation) and deletion of the object.
RtecUDPAdmin::AddrServer_var TAO_ECG_UDP_Sender::addr_server_ [private] |
We query this object to determine where the events should be sent.
Manages our connection to Supplier Proxy.
Helper for fragmenting and sending cdr-encoded events using udp.
RtecEventChannelAdmin::EventChannel_var TAO_ECG_UDP_Sender::lcl_ec_ [private] |
Event Channel to which we act as a consumer.
RtecEventChannelAdmin::ProxyPushSupplier_var TAO_ECG_UDP_Sender::supplier_proxy_ [private] |
Proxy used to receive events from the Event Channel.