TAO_RTEvent  2.0.8
Classes
ECG_UDP_Receiver.h File Reference
#include "orbsvcs/RtecUDPAdminS.h"
#include "orbsvcs/RtecEventChannelAdminS.h"
#include "orbsvcs/Event/ECG_Adapters.h"
#include "orbsvcs/Event/EC_Lifetime_Utils.h"
#include "orbsvcs/Event/EC_Lifetime_Utils_T.h"
#include "orbsvcs/Event/ECG_CDR_Message_Receiver.h"
#include "orbsvcs/Event/ECG_UDP_Receiver.inl"

Classes

class  TAO_ECG_UDP_Receiver_Disconnect_Command
 Disconnects supplier represented by proxy from the Event Channel. More...
class  TAO_ECG_UDP_Receiver
 Receive events from UDP or Multicast and push them to a "local" EC. NOT THREAD-SAFE. More...

Detailed Description

Id:
ECG_UDP_Receiver.h 92388 2010-10-28 07:57:07Z johnnyw
Author:
Carlos O'Ryan (coryan@cs.wustl.edu)
Marina Spivak (marina@atdesk.com)

Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and other members of the DOC group. More details can be found in:

http://doc.ece.uci.edu/~coryan/EC/index.html

Define helper classes to propagate events between ECs using either UDP or multicast. The architecture is a bit complicated and deserves some explanation: sending the events over UDP (or mcast) is easy, a Consumer (TAO_ECG_UDP_Sender) subscribes for a certain set of events, its push() method marshalls the event set into a CDR stream that is sent using an ACE_SOCK_Dgram. The subscription set and IP address can be configured. Another helper class (TAO_ECG_UDP_Receiver) acts as a supplier of events; it receives a callback when an event is available on an ACE_SOCK_Dgram, it demarshalls the event and pushes it to the EC. Two ACE_Event_Handler classes are provided that can forward the events to this Supplier: TAO_ECG_Mcast_EH can receive events from a multicast group; TAO_ECG_UDP_EH can receive events from a regular UDP socket.

Todo:
The class makes an extra copy of the events, we need to investigate if closer collaboration with its collocated EC could be used to remove that copy.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines