summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrodrigu <crodrigu@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-03-28 13:25:40 +0000
committercrodrigu <crodrigu@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-03-28 13:25:40 +0000
commit6d52ef0cebce51e16562ad32610b37423c860c6c (patch)
tree5875c9214aa0340a89b090608d33e202a7537d05
parent32343085c3f4476cb0d0edb380e6151f7ccf6fae (diff)
downloadATCD-6d52ef0cebce51e16562ad32610b37423c860c6c.tar.gz
ChangeLogTag: Wed Mar 28 08:18:00 2001 Craig Rodrigues <crodrigu@bbn.com>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a18
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h583
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/AV_Core.h52
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h119
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h179
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/Flows_T.h58
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/MCast.h57
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/Policy.h58
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h50
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/RTCP.h81
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/RTP.h44
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/TCP.h91
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/Transport.h144
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/UDP.h87
14 files changed, 903 insertions, 718 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 100057a2f65..1d144921a75 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,21 @@
+Wed Mar 28 08:18:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * orbsvcs/orbsvcs/AV:UDP.h
+ * orbsvcs/orbsvcs/AVStreams_i.h
+ * orbsvcs/orbsvcs/Transport.h
+ * orbsvcs/orbsvcs/TCP.h
+ * orbsvcs/orbsvcs/RTP.h
+ * orbsvcs/orbsvcs/RTCP.h
+ * orbsvcs/orbsvcs/Protocol_Factory.h
+ * orbsvcs/orbsvcs/Policy.h
+ * orbsvcs/orbsvcs/MCast.h
+ * orbsvcs/orbsvcs/Flows_T.h
+ * orbsvcs/orbsvcs/Endpoint_Strategy_T.h
+ * orbsvcs/orbsvcs/Endpoint_Strategy.h
+ * orbsvcs/orbsvcs/AV_Core.h
+ * orbsvcs/orbsvcs/FlowSpec_Entry.h
+ Converted commenting style to doxygen, added some comments.
+
Wed Mar 28 06:15:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
* tests/AMI/client.cpp: Fixed a compile error in Windoows build.
diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h
index bcb1ccf583d..352c6fc95f5 100644
--- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h
+++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h
@@ -1,21 +1,16 @@
/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS (AVStreams)
-//
-// = FILENAME
-// AVStreams_i.h
-//
-// = AUTHOR
-// Sumedh Mungee <sumedh@cs.wustl.edu>
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file AVStreams_i.h
+ *
+ * $Id$
+ *
+ * @author Sumedh Mungee <sumedh@cs.wustl.edu> Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef AVSTREAMS_I_H
#define AVSTREAMS_I_H
@@ -65,37 +60,40 @@
#if !defined (TAO_ORBSVCS_HAS_Trader)
// = Classes to deal with the ACE_Hash_Map_Manager.
+/**
+ * @class TAO_String_Hash_Key
+ *
+ * @brief Key for the Hash Table. The EXT_ID of the
+ * ACE_Hash_Map_Manager.
+ */
class TAO_AV_Export TAO_String_Hash_Key : public CORBA::String_var
{
- // = TITLE
- // Key for the Hash Table. The EXT_ID of the
- // ACE_Hash_Map_Manager.
public:
// = Initialization and termination methods.
+ /// Default constructor.
TAO_String_Hash_Key (void);
- // Default constructor.
+ /// Constructor from a const string.
TAO_String_Hash_Key (char * name);
- // Constructor from a const string.
+ /// Constructor from a const string.
TAO_String_Hash_Key (const char * name);
- // Constructor from a const string.
+ /// Copy constructor.
TAO_String_Hash_Key (const CORBA::String_var &hash_key);
- // Copy constructor.
+ /// Destructor.
~TAO_String_Hash_Key (void);
- // Destructor.
+ /// The operator for hash binding and "find"ing.
int operator == (const TAO_String_Hash_Key &hash_key) const;
- // The operator for hash binding and "find"ing.
+ /// The operator for hash binding and "find"ing.
friend int operator < (const TAO_String_Hash_Key &left,
const TAO_String_Hash_Key &right);
- // The operator for hash binding and "find"ing.
+ /// The function that computes a hash value.
u_long hash (void) const;
- // The function that computes a hash value.
};
#endif /* !TAO_ORBSVCS_HAS_Trader */
@@ -113,60 +111,64 @@ public:
AV_Null_MediaCtrl (void);
};
-
+/**
+ * @class TAO_Basic_StreamCtrl
+ * @brief Base class for StreamCtrl, implements basic stream start
+ * and stop functionality.
+ */
class TAO_AV_Export TAO_Basic_StreamCtrl
: public virtual POA_AVStreams::Basic_StreamCtrl,
public virtual TAO_PropertySet,
public virtual PortableServer::RefCountServantBase
{
- // = DESCRIPTION
- // Base class for StreamCtrl, implements basic stream start
- // and stop functionality
public:
+ /// Default Constructor
TAO_Basic_StreamCtrl (void);
- // Default Constructor
+ /// Destructor.
virtual ~TAO_Basic_StreamCtrl (void);
- // Destructor.
+ /// Stop the transfer of data of the stream
+ /// Empty the_spec means apply operation to all flows
virtual void stop (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Stop the transfer of data of the stream
- // Empty the_spec means apply operation to all flows
+ /// Start the transfer of data in the stream.
+ /// Empty the_spec means apply operation to all flows
virtual void start (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Start the transfer of data in the stream.
- // Empty the_spec means apply operation to all flows
+ /**
+ * Tears down the stream. This will close the connection, and delete
+ * the streamendpoint and vdev associated with this stream
+ * Empty the_spec means apply operation to all flows
+ */
virtual void destroy (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Tears down the stream. This will close the connection, and delete
- // the streamendpoint and vdev associated with this stream
- // Empty the_spec means apply operation to all flows
+ /// Changes the QoS associated with the stream
+ /// Empty the_spec means apply operation to all flows
virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &new_qos,
const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed));
- // Changes the QoS associated with the stream
- // Empty the_spec means apply operation to all flows
+ /// Used by StreamEndPoint and VDev to inform StreamCtrl of events.
+ /// E.g., loss of flow, reestablishment of flow, etc..
virtual void push_event (const struct CosPropertyService::Property & the_event,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // Used by StreamEndPoint and VDev to inform StreamCtrl of events.
- // E.g., loss of flow, reestablishment of flow, etc..
+ /// Used to control the flow protocol parameters.
virtual void set_FPStatus (const AVStreams::flowSpec &the_spec,
const char *fp_name,
const CORBA::Any &fp_settings,
@@ -174,45 +176,44 @@ public:
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::FPError));
- // Used to control the flow protocol parameters.
+ /// Not implemented in the light profile, will raise the notsupported
+ /// exception
virtual CORBA::Object_ptr get_flow_connection (const char *flow_name,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::notSupported));
- // Not implemented in the light profile, will raise the notsupported
- // exception
+ /// Not implemented in the light profile, will raise the notsupported
+ /// exception
virtual void set_flow_connection (const char *flow_name,
CORBA::Object_ptr flow_connection,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::notSupported));
- // Not implemented in the light profile, will raise the notsupported
- // exception
protected:
+ /// The Virtual Devices for this stream
AVStreams::VDev_var vdev_a_;
AVStreams::VDev_var vdev_b_;
- // The Virtual Devices for this stream
+ /// The Endpoints for this stream
AVStreams::StreamEndPoint_A_var sep_a_;
AVStreams::StreamEndPoint_B_var sep_b_;
- // The Endpoints for this stream
+ /// Hash table for the flow names and its corresponding flowconnection object reference.
typedef ACE_Hash_Map_Manager <TAO_String_Hash_Key,AVStreams::FlowConnection_ptr,ACE_Null_Mutex> FlowConnection_Map;
typedef ACE_Hash_Map_Iterator <TAO_String_Hash_Key,AVStreams::FlowConnection_ptr,ACE_Null_Mutex> FlowConnection_Map_Iterator;
typedef ACE_Hash_Map_Entry <TAO_String_Hash_Key,AVStreams::FlowConnection_ptr> FlowConnection_Map_Entry;
FlowConnection_Map flow_connection_map_;
- // Hash table for the flow names and its corresponding flowconnection object reference.
AVStreams::FlowConnection_seq flowConnections_;
+ ///sequence of flow names.
u_int flow_count_;
AVStreams::flowSpec flows_;
- //sequence of flow names.
};
class TAO_AV_Export TAO_Negotiator
@@ -231,79 +232,90 @@ class TAO_MCastConfigIf;
class MMDevice_Map_Hash_Key
{
public:
+ /// default constructor.
MMDevice_Map_Hash_Key (void);
- // default constructor.
+ /// constructor.
MMDevice_Map_Hash_Key (AVStreams::MMDevice_ptr mmdevice);
- // constructor.
+ /// copy constructor.
MMDevice_Map_Hash_Key (const MMDevice_Map_Hash_Key&);
- // copy constructor.
+ /// destructor.
~MMDevice_Map_Hash_Key (void);
- // destructor.
+ /// operator== needed by ACE_Hash_Map_Manager.
int operator == (const MMDevice_Map_Hash_Key &hash_key) const;
- // operator== needed by ACE_Hash_Map_Manager.
+ /// operator== needed by ACE_Hash_Map_Manager.
friend int operator < (const MMDevice_Map_Hash_Key &left,
const MMDevice_Map_Hash_Key &right);
- // operator== needed by ACE_Hash_Map_Manager.
+ /// hash function for this mmdevice.
u_long hash (void) const;
- // hash function for this mmdevice.
static const int hash_maximum_;
protected:
AVStreams::MMDevice_ptr mmdevice_;
};
+/**
+ * @class TAO_StreamCtrl
+ * @brief Implementation the A/V StreamCtrl class. this class
+ * is used to control the stream. It should be subclassed
+ * by applications that want to provide more control features.
+ */
class TAO_AV_Export TAO_StreamCtrl
: public virtual POA_AVStreams::StreamCtrl,
public virtual TAO_Basic_StreamCtrl,
public virtual PortableServer::RefCountServantBase
{
- // = DESCRIPTION
- // Implementation the A/V StreamCtrl class. this class
- // is used to control the stream. It should be subclassed
- // by applications that want to provide more control features.
public:
+ /// Default Constructor
TAO_StreamCtrl (void);
- // Default Constructor
+ /// Copy Constructor to fool g++
TAO_StreamCtrl (TAO_StreamCtrl const &);
- // Copy Constructor to fool g++
+ /// virtual destructor.
virtual ~TAO_StreamCtrl (void);
- // virtual destructor.
+ /// Fooling g++
void operator= (TAO_StreamCtrl const &);
- // Fooling g++
+ /// Stop the transfer of data of the stream
+ /// Empty the_spec means apply operation to all flows
virtual void stop (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Stop the transfer of data of the stream
- // Empty the_spec means apply operation to all flows
+ /// Start the transfer of data in the stream.
+ /// Empty the_spec means apply operation to all flows
virtual void start (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Start the transfer of data in the stream.
- // Empty the_spec means apply operation to all flows
+ /**
+ * Tears down the stream. This will close the connection, and delete
+ * the streamendpoint and vdev associated with this stream
+ * Empty the_spec means apply operation to all flows
+ */
virtual void destroy (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Tears down the stream. This will close the connection, and delete
- // the streamendpoint and vdev associated with this stream
- // Empty the_spec means apply operation to all flows
+ /**
+ * Establish a stream between a_party and b_party,
+ * with qos the_qos, and for the flows in the_flows
+ * if the_flows is empty, bind all the flows
+ * Causes a connection to be established between the StreamEndpoints.
+ * Returns success/failure
+ */
virtual CORBA::Boolean bind_devs (AVStreams::MMDevice_ptr a_party,
AVStreams::MMDevice_ptr b_party,
AVStreams::streamQoS& the_qos,
@@ -313,12 +325,12 @@ public:
AVStreams::streamOpFailed,
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed));
- // Establish a stream between a_party and b_party,
- // with qos the_qos, and for the flows in the_flows
- // if the_flows is empty, bind all the flows
- // Causes a connection to be established between the StreamEndpoints.
- // Returns success/failure
+ /**
+ * Establish a connection between two streamendpoints. This can
+ * be used if the streamendpoints have been created independent of
+ * a MMDevice
+ */
virtual CORBA::Boolean bind (AVStreams::StreamEndPoint_A_ptr a_party,
AVStreams::StreamEndPoint_B_ptr b_party,
AVStreams::streamQoS &the_qos,
@@ -328,9 +340,6 @@ public:
AVStreams::streamOpFailed,
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed));
- // Establish a connection between two streamendpoints. This can
- // be used if the streamendpoints have been created independent of
- // a MMDevice
virtual void unbind_dev (AVStreams::MMDevice_ptr dev,
const AVStreams::flowSpec & the_spec,
@@ -339,18 +348,18 @@ public:
AVStreams::streamOpFailed,
AVStreams::noSuchFlow));
+ /// Unbind the_ep from the stream. Empty the_spec means apply to all flows.
virtual void unbind_party (AVStreams::StreamEndPoint_ptr the_ep,
const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::streamOpFailed,
AVStreams::noSuchFlow));
- // Unbind the_ep from the stream. Empty the_spec means apply to all flows.
+ /// unbind the stream. Same effect as Basic_StreamCtrl::destroy ()
virtual void unbind (CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::streamOpFailed));
- // unbind the stream. Same effect as Basic_StreamCtrl::destroy ()
virtual AVStreams::VDev_ptr get_related_vdev (AVStreams::MMDevice_ptr adev,
AVStreams::StreamEndPoint_out sep,
@@ -358,14 +367,14 @@ public:
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::streamOpFailed));
+ /// Changes the QoS associated with the stream
+ /// Empty the_spec means apply operation to all flows
virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &new_qos,
const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed));
- // Changes the QoS associated with the stream
- // Empty the_spec means apply operation to all flows
protected:
@@ -405,11 +414,11 @@ public:
Peer_Interface interface_;
};
+ /// Default constructor.
TAO_MCastConfigIf (void);
- // Default constructor.
+ /// Dtor
~TAO_MCastConfigIf (void);
- // Dtor
virtual CORBA::Boolean set_peer (CORBA::Object_ptr peer,
AVStreams::streamQoS & the_qos,
@@ -443,14 +452,14 @@ public:
AVStreams::streamOpFailed));
protected:
+ /// checks whether the flowname is in the flow_spec.
int in_flowSpec (const AVStreams::flowSpec& flow_spec, const char *flow_name);
- // checks whether the flowname is in the flow_spec.
+ /// Multicast socket.
ACE_SOCK_Dgram_Mcast sock_mcast_;
- // Multicast socket.
+ /// Initial configuration to be distributed to all B parties when they join.
CosPropertyService::Properties initial_configuration_;
- // Initial configuration to be distributed to all B parties when they join.
ACE_DLList<Peer_Info> peer_list_;
ACE_DLList_Iterator<Peer_Info> peer_list_iterator_;
@@ -467,45 +476,48 @@ class TAO_AV_Source;
class TAO_AV_RTP_State;
class TAO_AV_Flow_Handler;
+/**
+ * @class TAO_Base_StreamEndPoint
+ *
+ * Base class for the A/V StreamEndPoint class. this class
+ * is used to control the stream. It should be subclassed
+ * by applications that want to provide more control features.
+ */
class TAO_AV_Export TAO_Base_StreamEndPoint
{
- // = DESCRIPTION
- // Base class for the A/V StreamEndPoint class. this class
- // is used to control the stream. It should be subclassed
- // by applications that want to provide more control features.
// @@Naga: Rename this class to TAO_Base_EndPoint since both stream and flowendpoints derive from it.
public:
TAO_Base_StreamEndPoint (void);
virtual ~TAO_Base_StreamEndPoint (void);
+ /// called when streamendpoint is instantiated
virtual int handle_open (void);
- // called when streamendpoint is instantiated
+ /// called when streamendpoint is being destructed
virtual int handle_close (void);
- // called when streamendpoint is being destructed
+ /// Application needs to define this
virtual int handle_stop (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ());
- // Application needs to define this
+ /// Application needs to define this
virtual int handle_start (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ());
- // Application needs to define this
+ /// Application needs to define this
virtual int handle_destroy (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ());
- // Application needs to define this
+ /// Application needs to define this
virtual CORBA::Boolean handle_preconnect (AVStreams::flowSpec &the_spec);
- // Application needs to define this
+ /// Application needs to define this
virtual CORBA::Boolean handle_postconnect (AVStreams::flowSpec &the_spec);
- // Application needs to define this
+ /// Application needs to define this
virtual CORBA::Boolean handle_connection_requested (AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ());
- // Application needs to define this
virtual int get_callback (const char *flowname,
TAO_AV_Callback *&callback);
@@ -526,37 +538,41 @@ class TAO_AV_Connector;
class TAO_Forward_FlowSpec_Entry;
class TAO_Reverse_FlowSpec_Entry;
+/**
+ * @class TAO_StreamEndPoint
+ * @brief The Stream EndPoint. Used to implement one endpoint of a stream
+ * that implements the transport layer.
+ */
class TAO_AV_Export TAO_StreamEndPoint
: public virtual POA_AVStreams::StreamEndPoint,
public virtual TAO_Base_StreamEndPoint,
public virtual TAO_PropertySet,
public virtual PortableServer::RefCountServantBase
{
- // = DESCRIPTION
- // The Stream EndPoint. Used to implement one endpoint of a stream
- // that implements the transport layer.
+
public:
+ /// Constructor
TAO_StreamEndPoint (void);
- // Constructor
+ /// Stop the stream. Empty the_spec means, for all the flows
virtual void stop (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Stop the stream. Empty the_spec means, for all the flows
+ /// Start the stream, Empty the_spec means, for all the flows
virtual void start (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Start the stream, Empty the_spec means, for all the flows
+ /// Destroy the stream, Empty the_spec means, for all the flows
virtual void destroy (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow));
- // Destroy the stream, Empty the_spec means, for all the flows
+ /// Called by StreamCtrl. responder is the peer to connect to
virtual CORBA::Boolean connect (AVStreams::StreamEndPoint_ptr responder,
AVStreams::streamQoS& qos_spec,
const AVStreams::flowSpec& the_spec,
@@ -565,8 +581,9 @@ public:
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed,
AVStreams::streamOpFailed));
- // Called by StreamCtrl. responder is the peer to connect to
+ /// Called by the peer StreamEndPoint. The flow_spec indicates the
+ /// flows (which contain transport addresses etc.)
virtual CORBA::Boolean request_connection (AVStreams::StreamEndPoint_ptr initiator,
CORBA::Boolean is_mcast,
AVStreams::streamQoS &qos,
@@ -577,29 +594,28 @@ public:
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed,
AVStreams::FPError));
- // Called by the peer StreamEndPoint. The flow_spec indicates the
- // flows (which contain transport addresses etc.)
+ /// Change the transport qos on a stream
virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &new_qos,
const AVStreams::flowSpec &the_flows,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed));
- // Change the transport qos on a stream
+ /// Used to restrict the set of protocols
virtual CORBA::Boolean set_protocol_restriction (const AVStreams::protocolSpec &the_pspec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // Used to restrict the set of protocols
+ /// disconnect the flows
virtual void disconnect (const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::streamOpFailed));
- // disconnect the flows
+ /// Used to control the flow
virtual void set_FPStatus (const AVStreams::flowSpec &the_spec,
const char *fp_name,
const CORBA::Any &fp_settings,
@@ -607,53 +623,53 @@ public:
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::FPError));
- // Used to control the flow
+ /// Not implemented in the light profile, throws notsupported
virtual CORBA::Object_ptr get_fep (const char *flow_name,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported,
AVStreams::noSuchFlow));
- // Not implemented in the light profile, throws notsupported
+ /// Not implemented in the light profile, throws notsupported
virtual char * add_fep (CORBA::Object_ptr the_fep,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported,
AVStreams::streamOpFailed));
- // Not implemented in the light profile, throws notsupported
+ /// Not implemented in the light profile, throws notsupported
virtual void remove_fep (const char *fep_name,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported,
AVStreams::streamOpFailed));
- // Not implemented in the light profile, throws notsupported
+ /// Used to "attach" a negotiator to the endpoint
virtual void set_negotiator (AVStreams::Negotiator_ptr new_negotiator,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // Used to "attach" a negotiator to the endpoint
+ /// Used for public key encryption.
virtual void set_key (const char *flow_name,
const AVStreams::key & the_key,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // Used for public key encryption.
+ /// Used to set a unique id for packets sent by this streamendpoint
virtual void set_source_id (CORBA::Long source_id,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // Used to set a unique id for packets sent by this streamendpoint
+ /// Destructor
virtual ~TAO_StreamEndPoint (void);
- // Destructor
CORBA::Boolean multiconnect (AVStreams::streamQoS &the_qos,
AVStreams::flowSpec &the_spec,
CORBA::Environment &ACE_TRY_ENV);
protected:
+ /// Helper methods to implement add_fep()
char* add_fep_i (AVStreams::FlowEndPoint_ptr fep,
CORBA::Environment &ACE_TRY_ENV)
ACE_THROW_SPEC ((CORBA::SystemException,
@@ -664,40 +680,41 @@ protected:
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported,
AVStreams::streamOpFailed));
- // Helper methods to implement add_fep()
+ /// translate from application level to network level qos.
int translate_qos (const AVStreams::streamQoS& application_qos,
AVStreams::streamQoS& network_qos);
- // translate from application level to network level qos.
+ /// Count of the number of flows in this streamendpoint, used to
+ /// generate unique names for the flows.
u_int flow_count_;
- // Count of the number of flows in this streamendpoint, used to
- // generate unique names for the flows.
+ /// current flow number used for system generation of flow names.
u_int flow_num_;
- // current flow number used for system generation of flow names.
+ /// hash table for the flownames and its corresponding flowEndpoint reference.
FlowEndPoint_Map fep_map_;
- // hash table for the flownames and its corresponding flowEndpoint reference.
+ /// sequence of supported flow names.
AVStreams::flowSpec flows_;
- // sequence of supported flow names.
+ /// source id used for multicast.
CORBA::Long source_id_;
- // source id used for multicast.
+ /// our local negotiator for QoS.
AVStreams::Negotiator_var negotiator_;
- // our local negotiator for QoS.
+ /// Our available list of protocols.
AVStreams::protocolSpec protocols_;
- // Our available list of protocols.
+ /// Chosen protocol for this streamendpoint based on availableprotocols property.
CORBA::String_var protocol_;
- // Chosen protocol for this streamendpoint based on availableprotocols property.
+ /// Key used for encryption.
AVStreams::key key_;
- // Key used for encryption.
+/// TAO_Forward_FlowSpec_Entry forward_entries_ [FLOWSPEC_MAX];
+/// TAO_Reverse_FlowSpec_Entry reverse_entries_ [FLOWSPEC_MAX];
u_short mcast_port_;
ACE_CString mcast_addr_;
ACE_Hash_Map_Manager <TAO_String_Hash_Key, TAO_FlowSpec_Entry*,ACE_Null_Mutex> mcast_entry_map_;
@@ -706,22 +723,23 @@ protected:
AVStreams::StreamEndPoint_var peer_sep_;
AVStreams::SFPStatus *sfp_status_;
AVStreams::StreamCtrl_var streamctrl_;
-// TAO_Forward_FlowSpec_Entry forward_entries_ [FLOWSPEC_MAX];
-// TAO_Reverse_FlowSpec_Entry reverse_entries_ [FLOWSPEC_MAX];
};
-
+/**
+ * @class TAO_StreamEndPoint_A
+ * @brief The "A" side of a streamendpoint
+ */
class TAO_AV_Export TAO_StreamEndPoint_A :
public virtual POA_AVStreams::StreamEndPoint_A,
public virtual TAO_StreamEndPoint,
public virtual PortableServer::RefCountServantBase
{
- // = DESCRIPTION
- // The "A" side of a streamendpoint
+
public:
+ /// Constructor
TAO_StreamEndPoint_A (void);
- // Constructor
+ /// Used for ATM-style multicast
virtual CORBA::Boolean multiconnect (AVStreams::streamQoS &the_qos,
AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
@@ -729,8 +747,8 @@ public:
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed,
AVStreams::streamOpFailed));
- // Used for ATM-style multicast
+ /// Used for ATM-style multicast
virtual CORBA::Boolean connect_leaf (AVStreams::StreamEndPoint_B_ptr the_ep,
AVStreams::streamQoS &the_qos,
const AVStreams::flowSpec &the_flows,
@@ -740,8 +758,8 @@ public:
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed,
AVStreams::notSupported));
- // Used for ATM-style multicast
+ /// Used to remove a multicast leaf
virtual void disconnect_leaf (AVStreams::StreamEndPoint_B_ptr the_ep,
const AVStreams::flowSpec &theSpec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
@@ -749,10 +767,9 @@ public:
AVStreams::streamOpFailed,
AVStreams::noSuchFlow,
AVStreams::notSupported));
- // Used to remove a multicast leaf
+ /// Destructor
virtual ~TAO_StreamEndPoint_A (void);
- // Destructor
};
@@ -760,6 +777,10 @@ public:
#define TAO_Client_StreamEndPoint TAO_StreamEndPoint_A
#define TAO_Server_StreamEndPoint TAO_StreamEndPoint_B
+/**
+ * @class TAO_StreamEndPoint_B
+ * @brief The "B" side of a streamendpoint
+ */
class TAO_AV_Export TAO_StreamEndPoint_B :
public virtual POA_AVStreams::StreamEndPoint_B,
public virtual TAO_StreamEndPoint,
@@ -768,9 +789,10 @@ class TAO_AV_Export TAO_StreamEndPoint_B :
// = DESCRIPTION
// The "B" side of a streamendpoint
public:
+ /// Constructor
TAO_StreamEndPoint_B (void);
- // Constructor
+ /// Used for internet-style multicast
virtual CORBA::Boolean multiconnect (AVStreams::streamQoS &the_qos,
AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
@@ -779,24 +801,27 @@ public:
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed,
AVStreams::FPError));
- // Used for internet-style multicast
+ /// Destructor
virtual ~TAO_StreamEndPoint_B (void);
- // Destructor
};
+/**
+ * @class TAO_VDev
+ * @brief Implements the VDev interface. One of these is created per
+ * connection, and represents device-specific parameters.
+ */
class TAO_AV_Export TAO_VDev
:public virtual TAO_PropertySet,
public virtual POA_AVStreams::VDev,
public virtual PortableServer::RefCountServantBase
{
- // = DESCRIPTION
- // Implements the VDev interface. One of these is created per connection,
- // and represents device-specific parameters
+
public:
+ /// Default Constructor
TAO_VDev (void);
- // Default Constructor
+ /// Called to tell the vdev who the streamctrl, peer vdev is
virtual CORBA::Boolean set_peer (AVStreams::StreamCtrl_ptr the_ctrl,
AVStreams::VDev_ptr the_peer_dev,
AVStreams::streamQoS &the_qos,
@@ -806,8 +831,8 @@ public:
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed,
AVStreams::streamOpFailed));
- // Called to tell the vdev who the streamctrl, peer vdev is
+ /// Used to set the streamctrl and multicast device
virtual CORBA::Boolean set_Mcast_peer (AVStreams::StreamCtrl_ptr the_ctrl,
AVStreams::MCastConfigIf_ptr a_mcastconfigif,
AVStreams::streamQoS &the_qos,
@@ -817,74 +842,75 @@ public:
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed,
AVStreams::streamOpFailed));
- // Used to set the streamctrl and multicast device
+ /// Called by the peer VDev to configure the device (catch all)
virtual void configure (const CosPropertyService::Property &the_config_mesg,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::PropertyException,
AVStreams::streamOpFailed));
- // Called by the peer VDev to configure the device (catch all)
+ /// Used to set a format on a flowname
virtual void set_format (const char *flowName,
const char *format_name,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported));
- // Used to set a format on a flowname
+ /// Used to set device parameters
virtual void set_dev_params (const char *flowName,
const CosPropertyService::Properties &new_params,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::PropertyException,
AVStreams::streamOpFailed));
- // Used to set device parameters
+ /// Called to change QoS of the device
virtual CORBA::Boolean modify_QoS (AVStreams::streamQoS &the_qos,
const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed));
- // Called to change QoS of the device
+ /// Destructor
virtual ~TAO_VDev (void);
- // Destructor
protected:
+ /// hook called after set_peer is done to set the media ctrl of the peer vdev.
virtual CORBA::Boolean set_media_ctrl (CORBA::Object_ptr media_ctrl,
CORBA::Environment &env = CORBA::Environment::default_environment ());
- // hook called after set_peer is done to set the media ctrl of the peer vdev.
+ /// My stream controller
AVStreams::StreamCtrl_var streamctrl_;
- // My stream controller
+ /// My peer
AVStreams::VDev_var peer_;
- // My peer
+ /// The multicast VDev peer.
AVStreams::MCastConfigIf_var mcast_peer_;
- // The multicast VDev peer.
};
class TAO_AV_Endpoint_Strategy;
+/**
+ * @class TAO_MMDevice
+ * @brief Implements a factory to create Endpoints and VDevs
+ */
class TAO_AV_Export TAO_MMDevice
:public virtual POA_AVStreams::MMDevice,
public TAO_PropertySet,
public virtual PortableServer::RefCountServantBase
{
- // = DESCRIPTION
- // Implements a factory to create Endpoints and VDevs
public:
+ /// Constructor
enum MMDevice_Type {MMDEVICE_A = 0,MMDEVICE_B = 1};
TAO_MMDevice (TAO_AV_Endpoint_Strategy *endpoint_strategy_);
- // Constructor
+ /// Copy constructor to fool g++
TAO_MMDevice (TAO_MMDevice const &);
- // Copy constructor to fool g++
virtual AVStreams::StreamEndPoint_ptr create_A_B (MMDevice_Type type,
AVStreams::StreamCtrl_ptr the_requester,
@@ -895,6 +921,8 @@ public:
const AVStreams::flowSpec &the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ());
+ /// Can be used to request the MMDevice to create a new StreamCtrl,
+ /// and call bind_devs on it
virtual AVStreams::StreamCtrl_ptr bind (AVStreams::MMDevice_ptr peer_device,
AVStreams::streamQoS &the_qos,
CORBA::Boolean_out is_met,
@@ -904,9 +932,8 @@ public:
AVStreams::streamOpFailed,
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed));
- // Can be used to request the MMDevice to create a new StreamCtrl,
- // and call bind_devs on it
+ /// Multicast bind
virtual AVStreams::StreamCtrl_ptr bind_mcast (AVStreams::MMDevice_ptr first_peer,
AVStreams::streamQoS &the_qos,
CORBA::Boolean_out is_met,
@@ -916,8 +943,8 @@ public:
AVStreams::streamOpFailed,
AVStreams::noSuchFlow,
AVStreams::QoSRequestFailed));
- // Multicast bind
+ /// Called by StreamCtrl to create a "A" type streamandpoint and vdev
virtual AVStreams::StreamEndPoint_A_ptr create_A (AVStreams::StreamCtrl_ptr the_requester,
AVStreams::VDev_out the_vdev,
AVStreams::streamQoS &the_qos,
@@ -931,8 +958,8 @@ public:
AVStreams::notSupported,
AVStreams::QoSRequestFailed,
AVStreams::noSuchFlow));
- // Called by StreamCtrl to create a "A" type streamandpoint and vdev
+ /// Called by StreamCtrl to create a "B" type streamandpoint and vdev
virtual AVStreams::StreamEndPoint_B_ptr create_B (AVStreams::StreamCtrl_ptr the_requester,
AVStreams::VDev_out the_vdev,
AVStreams::streamQoS &the_qos,
@@ -946,69 +973,68 @@ public:
AVStreams::notSupported,
AVStreams::QoSRequestFailed,
AVStreams::noSuchFlow));
- // Called by StreamCtrl to create a "B" type streamandpoint and vdev
+ /// Remove the StreamEndPoint and the related vdev
virtual void destroy (AVStreams::StreamEndPoint_ptr the_ep,
const char *vdev_name,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported));
- // Remove the StreamEndPoint and the related vdev
+ /// Not supported in the light profile, raises notsupported
virtual char * add_fdev (CORBA::Object_ptr the_fdev,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported,
AVStreams::streamOpFailed));
- // Not supported in the light profile, raises notsupported
+ /// Not supported in the light profile, raises notsupported
virtual CORBA::Object_ptr get_fdev (const char *flow_name,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported,
AVStreams::noSuchFlow));
- // Not supported in the light profile, raises notsupported
+ /// Not supported in the light profile, raises notsupported
virtual void remove_fdev (const char *flow_name,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported,
AVStreams::noSuchFlow,
AVStreams::streamOpFailed));
- // Not supported in the light profile, raises notsupported
+ /// Destructor
virtual ~TAO_MMDevice (void);
- // Destructor
protected:
+ /// Helper method to implement add_fdev()
char* add_fdev_i (AVStreams::FDev_ptr fdev,
CORBA::Environment &ACE_TRY_ENV)
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported,
AVStreams::streamOpFailed));
- // Helper method to implement add_fdev()
protected:
TAO_AV_Endpoint_Strategy *endpoint_strategy_;
+ /// Count of the number of flows in this MMDevice , used to
+ /// generate unique names for the flows.
u_int flow_count_;
- // Count of the number of flows in this MMDevice , used to
- // generate unique names for the flows.
+ /// current flow number used for system generation of flow names.
u_int flow_num_;
- // current flow number used for system generation of flow names.
typedef ACE_Hash_Map_Manager <TAO_String_Hash_Key,AVStreams::FDev_ptr,ACE_Null_Mutex> FDev_Map;
typedef ACE_Hash_Map_Iterator <TAO_String_Hash_Key,AVStreams::FDev_ptr,ACE_Null_Mutex> FDev_Map_Iterator;
typedef ACE_Hash_Map_Entry <TAO_String_Hash_Key,AVStreams::FDev_ptr> FDev_Map_Entry;
+ /// hash table for the flownames and its corresponding flowEndpoint
+ /// reference.
FDev_Map fdev_map_;
- // hash table for the flownames and its corresponding flowEndpoint
- // reference.
+ /// sequence of supported flow names.
AVStreams::flowSpec flows_;
- // sequence of supported flow names.
TAO_StreamCtrl *stream_ctrl_;
};
@@ -1016,53 +1042,54 @@ protected:
class TAO_FlowConsumer;
class TAO_FlowProducer;
+/**
+ * @class TAO_FlowConnection
+ * @brief This class currently supports only one producer and one
+ * consumer per flow.
+ */
class TAO_AV_Export TAO_FlowConnection
: public virtual POA_AVStreams::FlowConnection,
public TAO_PropertySet,
public virtual PortableServer::RefCountServantBase
{
- // =TITLE
- // Class to manage a flow connection.
- //
- // =Description
- // This class currently supports only one producer and one
- // consumer per flow.
+
public:
+ /// default constructor.
TAO_FlowConnection (void);
- // default constructor.
+ /// stop this flow.
virtual void stop (CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // stop this flow.
+ /// start this flow.
virtual void start (CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // start this flow.
+ /// destroy this flow.
virtual void destroy (CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // destroy this flow.
+ /// modify the QoS for this flow.
virtual CORBA::Boolean modify_QoS (AVStreams::QoS & new_qos,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::QoSRequestFailed));
- // modify the QoS for this flow.
+ /// use the specified flow protocol for this flow.
virtual CORBA::Boolean use_flow_protocol (const char * fp_name,
const CORBA::Any & fp_settings,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::FPError,
AVStreams::notSupported));
- // use the specified flow protocol for this flow.
+ /// pushes an event , to be handled by the application.
virtual void push_event (const AVStreams::streamEvent & the_event,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // pushes an event , to be handled by the application.
+ /// connect 2 Flow Devices.
virtual CORBA::Boolean connect_devs (AVStreams::FDev_ptr a_party,
AVStreams::FDev_ptr b_party,
AVStreams::QoS & the_qos,
@@ -1071,8 +1098,8 @@ public:
AVStreams::streamOpFailed,
AVStreams::streamOpDenied,
AVStreams::QoSRequestFailed));
- // connect 2 Flow Devices.
+ /// Connect a flow producer and consumer under this flow connection.
virtual CORBA::Boolean connect (AVStreams::FlowProducer_ptr flow_producer,
AVStreams::FlowConsumer_ptr flow_consumer,
AVStreams::QoS & the_qos,
@@ -1081,32 +1108,31 @@ public:
AVStreams::formatMismatch,
AVStreams::FEPMismatch,
AVStreams::alreadyConnected));
- // Connect a flow producer and consumer under this flow connection.
+ /// disconnect this flow connection.
virtual CORBA::Boolean disconnect (CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // disconnect this flow connection.
+ /// adds the producer to this flow connection.
virtual CORBA::Boolean add_producer (AVStreams::FlowProducer_ptr flow_producer,
AVStreams::QoS & the_qos,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::alreadyConnected,
AVStreams::notSupported));
- // adds the producer to this flow connection.
+ /// adds a consumer to this flow connection.
virtual CORBA::Boolean add_consumer (AVStreams::FlowConsumer_ptr flow_consumer,
AVStreams::QoS & the_qos,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::alreadyConnected));
- // adds a consumer to this flow connection.
+ /// drops a flow endpoint from the flow.
virtual CORBA::Boolean drop (AVStreams::FlowEndPoint_ptr target,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notConnected));
- // drops a flow endpoint from the flow.
int set_mcast_addr (ACE_CString addr,u_short port);
void set_protocol (const char *protocol);
@@ -1116,15 +1142,15 @@ protected:
typedef ACE_Unbounded_Set<AVStreams::FlowConsumer_ptr> FlowConsumer_Set;
typedef ACE_Unbounded_Set_Iterator<AVStreams::FlowConsumer_ptr> FlowConsumer_SetItor;
+ /// The multicast address returned by the producer.
FlowProducer_Set flow_producer_set_;
FlowConsumer_Set flow_consumer_set_;
CORBA::String_var fp_name_;
CORBA::Any fp_settings_;
CORBA::String_var producer_address_;
- // The multicast address returned by the producer.
+ /// IP Multicasting is used.
int ip_multicast_;
- // IP Multicasting is used.
TAO_MCastConfigIf *mcastconfigif_i_;
AVStreams::MCastConfigIf_var mcastconfigif_;
u_short mcast_port_;
@@ -1132,20 +1158,22 @@ protected:
CORBA::String_var protocol_;
};
+/**
+ * @class TAO_FlowEndPoint
+ * @brief This class is used per flow e.g video flow and an audio flow
+ * to encapsulate the transport details.
+ */
class TAO_AV_Export TAO_FlowEndPoint :
public virtual POA_AVStreams::FlowEndPoint,
public virtual TAO_PropertySet,
public virtual PortableServer::RefCountServantBase,
public virtual TAO_Base_StreamEndPoint
{
- // = DESCRIPTION
- // This class is used per flow e.g video flow and an audio flow
- // to encapuslate the transport details.
public:
+ ///default constructor.
TAO_FlowEndPoint (void);
- //default constructor.
TAO_FlowEndPoint (const char *flowname,
AVStreams::protocolSpec &protocols,
@@ -1163,34 +1191,34 @@ public:
virtual int set_protocol_object (const char *flowname,
TAO_AV_Protocol_Object *object);
+ /// lock the flow endpoint for a particular flow.
virtual CORBA::Boolean lock (CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // lock the flow endpoint for a particular flow.
+ /// unlock the flow endpoint for subsequent use.
virtual void unlock (CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // unlock the flow endpoint for subsequent use.
+ /// destroy this flow.
virtual void destroy (CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // destroy this flow.
+ /// get method for the related streamendpoint under which this
+ /// flowendpoint is.
virtual AVStreams::StreamEndPoint_ptr related_sep(CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // get method for the related streamendpoint under which this
- // flowendpoint is.
+ /// set method for the related streamendpoint under which this
+ /// flowendpoint is.
virtual void related_sep (AVStreams::StreamEndPoint_ptr related_sep,
CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // set method for the related streamendpoint under which this
- // flowendpoint is.
virtual AVStreams::FlowConnection_ptr related_flow_connection(CORBA::Environment &env =
CORBA::Environment::default_environment ())
@@ -1198,52 +1226,53 @@ public:
// accessor for the related flow connection attribute.
+ /// set method for the related flow connection attribute.
virtual void related_flow_connection (AVStreams::FlowConnection_ptr related_flow_connection,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // set method for the related flow connection attribute.
+ /// returns the other flowendpoint to which this is connected.
virtual AVStreams::FlowEndPoint_ptr get_connected_fep (CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notConnected,
AVStreams::notSupported));
- // returns the other flowendpoint to which this is connected.
+ //// use the specified flow protocol.
virtual CORBA::Boolean use_flow_protocol (const char * fp_name,
const CORBA::Any & fp_settings,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::FPError,
AVStreams::notSupported));
- /// use the specified flow protocol.
+ /// sets the data format.
virtual void set_format (const char * format,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported));
- // sets the data format.
+ /// sets the device parameters.
virtual void set_dev_params (const CosPropertyService::Properties & new_settings,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::PropertyException,
AVStreams::streamOpFailed));
- // sets the device parameters.
+ /// sets the list of protocols to be used.
virtual void set_protocol_restriction (const AVStreams::protocolSpec & the_spec,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported));
- // sets the list of protocols to be used.
+ /// checks whether the passed flowendpoint is compatible with this.
virtual CORBA::Boolean is_fep_compatible (AVStreams::FlowEndPoint_ptr fep,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::formatMismatch,
AVStreams::deviceQosMismatch));
- // checks whether the passed flowendpoint is compatible with this.
+ /// sets the peer flowendpoint.
virtual CORBA::Boolean set_peer (AVStreams::FlowConnection_ptr the_fc,
AVStreams::FlowEndPoint_ptr the_peer_fep,
AVStreams::QoS & the_qos,
@@ -1251,8 +1280,8 @@ public:
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::QoSRequestFailed,
AVStreams::streamOpFailed));
- // sets the peer flowendpoint.
+ /// sets the multicast peer flowendpoint, not implemented.
virtual CORBA::Boolean set_Mcast_peer (AVStreams::FlowConnection_ptr the_fc,
AVStreams::MCastConfigIf_ptr a_mcastconfigif,
AVStreams::QoS & the_qos,
@@ -1260,9 +1289,13 @@ public:
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::QoSRequestFailed));
- // sets the multicast peer flowendpoint, not implemented.
+ /**
+ * This should be implemented in both the FlowProducer and consumer and hence is
+ * pure virtual since we need to know the role of the flowendpoint to create appropriate
+ * protocol objects. eg. in SFP to create Producer Object/ Consumer Object.
+ */
virtual CORBA::Boolean connect_to_peer (AVStreams::QoS & the_qos,
const char * address,
const char * use_flow_protocol,
@@ -1272,10 +1305,8 @@ public:
AVStreams::failedToConnect,
AVStreams::FPError,
AVStreams::QoSRequestFailed)) = 0;
- // This should be implemented in both the FlowProducer and consumer and hence is
- // pure virtual since we need to know the role of the flowendpoint to create appropriate
- // protocol objects. eg. in SFP to create Producer Object/ Consumer Object.
+ /// connect to the peer endpoint.
virtual CORBA::Boolean connect_to_peer_i (TAO_FlowSpec_Entry::Role role,
AVStreams::QoS & the_qos,
const char * address,
@@ -1286,8 +1317,12 @@ public:
AVStreams::failedToConnect,
AVStreams::FPError,
AVStreams::QoSRequestFailed));
- // connect to the peer endpoint.
+ /**
+ * This should be implemented in both the FlowProducer and consumer and hence is
+ * pure virtual since we need to know the role of the flowendpoint to create appropriate
+ * protocol objects. eg. in SFP to create Producer Object/ Consumer Object.
+ */
virtual char * go_to_listen (AVStreams::QoS & the_qos,
CORBA::Boolean is_mcast,
AVStreams::FlowEndPoint_ptr peer,
@@ -1298,10 +1333,8 @@ public:
AVStreams::failedToListen,
AVStreams::FPError,
AVStreams::QoSRequestFailed)) = 0;
- // This should be implemented in both the FlowProducer and consumer and hence is
- // pure virtual since we need to know the role of the flowendpoint to create appropriate
- // protocol objects. eg. in SFP to create Producer Object/ Consumer Object.
+ /// listen request from the peer.
virtual char * go_to_listen_i (TAO_FlowSpec_Entry::Role role,
AVStreams::QoS & the_qos,
CORBA::Boolean is_mcast,
@@ -1314,29 +1347,28 @@ public:
AVStreams::FPError,
AVStreams::QoSRequestFailed));
- // listen request from the peer.
protected:
+ /// The related streamendpoint.
AVStreams::StreamEndPoint_var related_sep_;
- // The related streamendpoint.
+ /// The related flow connection reference
AVStreams::FlowConnection_var related_flow_connection_;
- // The related flow connection reference
+ /// The peer flowendpoint reference.
AVStreams::FlowEndPoint_var peer_fep_;
- // The peer flowendpoint reference.
+ /// Available protocols for this flowendpoint.
AVStreams::protocolSpec protocols_;
- // Available protocols for this flowendpoint.
+ /// Address information for the protocols.
AVStreams::protocolSpec protocol_addresses_;
- // Address information for the protocols.
+ /// The multicast peer endpoint.
AVStreams::MCastConfigIf_var mcast_peer_;
- // The multicast peer endpoint.
+ /// Lock.
CORBA::Boolean lock_;
- // Lock.
CORBA::String_var format_;
CORBA::String_var flowname_;
@@ -1351,31 +1383,33 @@ class TAO_AV_Export TAO_FlowProducer:
public virtual PortableServer::RefCountServantBase
{
public:
+ /// default constructor
TAO_FlowProducer (void);
- // default constructor
TAO_FlowProducer (const char *flowname,
AVStreams::protocolSpec protocols,
const char *format);
+ /**
+ * get the reverse channel, to be used for feedback for protocols like UDP.
+ * @@Naga: In the spec this is defined in the TAO_FlowProducer but it seems more reasonable for this
+ * to be in a FlowEndPoint since any of the flowendpoints can be made to listen. So in the case of
+ * UDP if the producer is listening and the consumer connects (logically) then the producer needs to
+ * know the reverse channel on its peer fep to send data to.
+ */
virtual char * get_rev_channel (const char * pcol_name,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // get the reverse channel, to be used for feedback for protocols like UDP.
- // @@Naga: In the spec this is defined in the TAO_FlowProducer but it seems more reasonable for this
- // to be in a FlowEndPoint since any of the flowendpoints can be made to listen. So in the case of
- // UDP if the producer is listening and the consumer connects (logically) then the producer needs to
- // know the reverse channel on its peer fep to send data to.
+ /// stop this flow, to be overridden by the application.
virtual void stop (CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // stop this flow, to be overridden by the application.
+ /// start this flow, to be overridden by the application.
virtual void start (CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // start this flow, to be overridden by the application.
virtual char * go_to_listen (AVStreams::QoS & the_qos,
CORBA::Boolean is_mcast,
@@ -1398,6 +1432,7 @@ public:
AVStreams::FPError,
AVStreams::QoSRequestFailed));
+ /// connect to the multicast address, not implemented.
virtual char * connect_mcast (AVStreams::QoS & the_qos,
CORBA::Boolean_out is_met,
const char * address,
@@ -1409,23 +1444,22 @@ public:
AVStreams::FPError,
AVStreams::QoSRequestFailed));
- // connect to the multicast address, not implemented.
+ /// sets the public key to be used for encryption of the data.
virtual void set_key (const AVStreams::key & the_key,
CORBA::Environment &env = CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // sets the public key to be used for encryption of the data.
+ /// sets the source id of this flow producer so that it can be used
+ /// to distinguish this producer from others in the multicast case.
virtual void set_source_id (CORBA::Long source_id,
CORBA::Environment &env =CORBA::Environment::default_environment())
ACE_THROW_SPEC ((CORBA::SystemException));
- // sets the source id of this flow producer so that it can be used
- // to distinguish this producer from others in the multicast case.
protected:
+ /// source id of this producer.
CORBA::Long source_id_;
- // source id of this producer.
CORBA::String_var peer_address_;
};
@@ -1435,22 +1469,22 @@ class TAO_AV_Export TAO_FlowConsumer :
public virtual PortableServer::RefCountServantBase
{
public:
+ /// default constructor.
TAO_FlowConsumer (void);
- // default constructor.
TAO_FlowConsumer (const char *flowname,
AVStreams::protocolSpec protocols,
const char *format);
+ /// stop this flow, to be overridden by the application.
virtual void stop (CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // stop this flow, to be overridden by the application.
+ /// start this flow, to be overridden by the application.
virtual void start (CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
- // start this flow, to be overridden by the application.
virtual char * go_to_listen (AVStreams::QoS & the_qos,
CORBA::Boolean is_mcast,
@@ -1474,20 +1508,20 @@ public:
AVStreams::QoSRequestFailed));
};
-
+/**
+ * @class TAO_MediaControl
+ * @brief Abstract Mediacontrol class.
+ * The following are to be handled by the specialized media control
+ * for the specific media like camera, speaker.
+ */
class TAO_AV_Export TAO_MediaControl
:public virtual POA_AVStreams::MediaControl,
public virtual PortableServer::RefCountServantBase
{
- // = TITLE
- // Abstract Mediacontrol class.
- //
- // = DESCRIPTION
- // The following are to be handled by the specialized media control for the specific
- // media like camera,speaker.
+
public:
+ /// default constructor
TAO_MediaControl (void);
- // default constructor
virtual AVStreams::Position get_media_position (AVStreams::PositionOrigin an_origin,
AVStreams::PositionKey a_key,
@@ -1523,28 +1557,33 @@ public:
};
+/**
+ * @class TAO_AV_QoS
+ * @brief Class for getting and setting the QoS characteristics of
+ * an AV Stream.
+ */
class TAO_AV_Export TAO_AV_QoS
{
public:
+ /// constructor.
TAO_AV_QoS (void);
- // constructor.
+ /// constructor taking a stream qos parameter.
TAO_AV_QoS (AVStreams::streamQoS &stream_qos);
- // constructor taking a stream qos parameter.
+ /// sets the maps with the QoS paramter.
int set (AVStreams::streamQoS &stream_qos);
- // sets the maps with the QoS paramter.
+ /// gets the flow_qos.
int get_flow_qos (const char *flowname,AVStreams::QoS &flow_qos);
- // gets the flow_qos.
+ /// converts the application level QoS to Network-level QoS.
int convert (AVStreams::streamQoS &network_qos);
- // converts the application level QoS to Network-level QoS.
protected:
+ /// Stream Qos.
AVStreams::streamQoS stream_qos_;
- // Stream Qos.
ACE_Hash_Map_Manager<TAO_String_Hash_Key,AVStreams::QoS,ACE_Null_Mutex> qos_map_;
};
diff --git a/TAO/orbsvcs/orbsvcs/AV/AV_Core.h b/TAO/orbsvcs/orbsvcs/AV/AV_Core.h
index 8dd12e99817..cc0e297c3c9 100644
--- a/TAO/orbsvcs/orbsvcs/AV/AV_Core.h
+++ b/TAO/orbsvcs/orbsvcs/AV/AV_Core.h
@@ -1,20 +1,16 @@
/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS (AVStreams)
-//
-// = FILENAME
-// AV_Core.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file AV_Core.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_CORE_H
#define TAO_AV_CORE_H
@@ -45,7 +41,11 @@ typedef ACE_Unbounded_Set_Iterator<TAO_AV_Transport_Item*> TAO_AV_TransportFacto
typedef ACE_Unbounded_Set<TAO_AV_Flow_Protocol_Item*> TAO_AV_Flow_ProtocolFactorySet;
typedef ACE_Unbounded_Set_Iterator<TAO_AV_Flow_Protocol_Item*> TAO_AV_Flow_ProtocolFactorySetItor;
-
+/**
+ * @class TAO_AV_Core
+ * @brief This class encapsulates access to the TAO AV Core's resources
+ * and its state.
+ */
class TAO_AV_Export TAO_AV_Core
{
public:
@@ -68,11 +68,11 @@ public:
TAO_AV_SFP_UDP_MCAST = 11
};
+ /// Default constructor.
TAO_AV_Core (void);
- // Default constructor.
+ /// Destructor.
~TAO_AV_Core (void);
- // Destructor.
int init (CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa,
@@ -90,18 +90,18 @@ public:
int init_transport_factories (void);
int init_flow_protocol_factories (void);
+ /// = Get the acceptor registry
TAO_AV_Acceptor *get_acceptor (const char *flowname);
TAO_AV_Connector *get_connector (const char *flowname);
TAO_AV_Connector_Registry *connector_registry (void);
TAO_FlowSpec_Entry *get_flow_spec_entry (TAO_AV_FlowSpecSet &flow_spec_set,
const char *flowname);
- // = Get the acceptor registry
TAO_AV_Acceptor_Registry *acceptor_registry (void);
// = Get the protocol factories
+ /// = Set/get the <ACE_Reactor>.
TAO_AV_Flow_ProtocolFactorySet *flow_protocol_factories (void);
TAO_AV_TransportFactorySet *transport_factories (void);
- // = Set/get the <ACE_Reactor>.
void reactor (ACE_Reactor *r);
ACE_Reactor *reactor (void);
CORBA::ORB_ptr orb (void);
@@ -113,19 +113,19 @@ public:
static char *get_flowname (const char *flow_spec_entry_str);
protected:
+ /// The connector registry which all active connecters must register
+ /// themselves with.
TAO_AV_Connector_Registry *connector_registry_;
- // The connector registry which all active connecters must register
- // themselves with.
+ /// The registry which maintains a list of acceptor factories for each
+ /// loaded protocol.
TAO_AV_Acceptor_Registry *acceptor_registry_;
- // The registry which maintains a list of acceptor factories for each
- // loaded protocol.
+ /// Pointer to the list of transports loaded into this AV_Core instance.
TAO_AV_TransportFactorySet transport_factories_;
- // Pointer to the list of transports loaded into this AV_Core instance.
+ /// Pointer to the list of flow protocol loaded into this AV_Core instance.
TAO_AV_Flow_ProtocolFactorySet flow_protocol_factories_;
- // Pointer to the list of flow protocol loaded into this AV_Core instance.
ACE_Reactor *reactor_;
CORBA::ORB_var orb_;
diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h
index d7f1af03f38..57038d447f8 100644
--- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h
+++ b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h
@@ -1,20 +1,16 @@
/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// Endpoint_Strategy.h
-//
-// = AUTHOR
-// Sumedh Mungee <sumedh@cs.wustl.edu>
-//
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file Endpoint_Strategy.h
+ *
+ * $Id$
+ *
+ * @author Sumedh Mungee <sumedh@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_ENDPOINT_STRATEGY_H
#define TAO_AV_ENDPOINT_STRATEGY_H
@@ -29,138 +25,149 @@
# pragma warning (disable : 4250)
#endif /* _MSC_VER */
+/**
+ * @class TAO_AV_Endpoint_Strategy
+ *
+ * Base class to define various endpoint strategies
+ * used by the MMDevice to create the Endpoint and Vdev
+ */
class TAO_AV_Export TAO_AV_Endpoint_Strategy
{
- // = DESCRIPTION
- // Base class to define various endpoint strategies
- // used by the MMDevice to create the Endpoint and Vdev
public:
+ /// Constructor
TAO_AV_Endpoint_Strategy (void);
- // Constructor
+ /// Destructor
virtual ~TAO_AV_Endpoint_Strategy (void);
- // Destructor
+ /// Called by the MMDevice, when it needs to create an A type endpoint
virtual int create_A (AVStreams::StreamEndPoint_A_ptr &stream_endpoint,
AVStreams::VDev_ptr &vdev,
CORBA::Environment &env);
- // Called by the MMDevice, when it needs to create an A type endpoint
+ /// Called by the MMDevice, when it needs to create an B type endpoint
virtual int create_B (AVStreams::StreamEndPoint_B_ptr &stream_endpoint,
AVStreams::VDev_ptr &vdev,
CORBA::Environment &env);
- // Called by the MMDevice, when it needs to create an B type endpoint
protected:
+ /// The "A" stream endpoint
AVStreams::StreamEndPoint_A_ptr stream_endpoint_a_;
- // The "A" stream endpoint
+ /// The "B" stream endpoint
AVStreams::StreamEndPoint_B_ptr stream_endpoint_b_;
- // The "B" stream endpoint
+ /// The vdev
AVStreams::VDev_ptr vdev_;
- // The vdev
};
// ----------------------------------------------------------------------
-
+/**
+ * @class TAO_AV_Endpoint_Strategy
+ * @brief Process-based strategy for creating endpoints.
+ * Abstract base class.
+ */
class TAO_AV_Export TAO_AV_Endpoint_Process_Strategy
: public TAO_AV_Endpoint_Strategy
{
- // = DESCRIPTION
- // Process-based strategy for creating endpoints
- // Abstract base class.
public:
+ /// Constructor. The process_options contain the name and arguments
+ /// for the process to be created
TAO_AV_Endpoint_Process_Strategy (ACE_Process_Options *process_options);
- // Constructor. The process_options contain the name and arguments
- // for the process to be created
+ /// Destructor.
virtual ~TAO_AV_Endpoint_Process_Strategy (void);
- // Destructor.
+ /// creates a new child process, and waits on a semaphore
+ /// until the child process has finished creating the endpoints
virtual int activate (void);
- // creates a new child process, and waits on a semaphore
- // until the child process has finished creating the endpoints
protected:
+ /// Bind to the naming service
virtual int bind_to_naming_service (CORBA::Environment &env);
- // Bind to the naming service
+ /**
+ * Get the object reference for the newly created stream
+ * endpoint (which will be in the child process)
+ * Subclasses will define the functionality for this
+ */
virtual int get_stream_endpoint (CORBA::Environment &env) = 0;
- // Get the object reference for the newly created stream
- // endpoint (which will be in the child process)
- // Subclasses will define the functionality for this
+ /// Get the Vdev object reference for the newly created
+ /// endpoint
virtual int get_vdev (CORBA::Environment &env);
- // Get the Vdev object reference for the newly created
- // endpoint
+ /// Naming context
CosNaming::NamingContext_var naming_context_;
- // Naming context
+ /// Name and arguments for the process to be created
ACE_Process_Options *process_options_;
- // Name and arguments for the process to be created
+ /// name of this host used for resolving unique names.
char host_[MAXHOSTNAMELEN];
- // name of this host used for resolving unique names.
+ /// My child's process id.
pid_t pid_;
- // My child's process id.
};
// ----------------------------------------------------------------------
+/**
+ * @class TAO_AV_Endpoint_Process_Strategy_A
+ * @brief Process-based strategy to create "A" type endpoints
+ */
class TAO_AV_Export TAO_AV_Endpoint_Process_Strategy_A
: public TAO_AV_Endpoint_Process_Strategy
{
- // = DESCRIPTION
- // Process-based strategy to create "A" type endpoints
public:
+ /// Constructor
TAO_AV_Endpoint_Process_Strategy_A (ACE_Process_Options *process_options);
- // Constructor
+ /// Destructor.
virtual ~TAO_AV_Endpoint_Process_Strategy_A (void);
- // Destructor.
protected:
+ /// Creates an "A" type stream endpoint, and a vdev
virtual int create_A (AVStreams::StreamEndPoint_A_ptr &stream_endpoint,
AVStreams::VDev_ptr &vdev,
CORBA::Environment &env);
- // Creates an "A" type stream endpoint, and a vdev
+ /// Gets the "A" type stream endpoint from the child process
virtual int get_stream_endpoint (CORBA::Environment &env);
- // Gets the "A" type stream endpoint from the child process
};
// ----------------------------------------------------------------------
+/**
+ * @class TAO_AV_Endpoint_Process_Strategy_B
+ * @brief Process-based strategy to create "B" type endpoints
+ */
class TAO_AV_Export TAO_AV_Endpoint_Process_Strategy_B
: public TAO_AV_Endpoint_Process_Strategy
{
- // = DESCRIPTION
- // Process-based strategy to create "B" type endpoints
+
public:
+ /// Constructor
TAO_AV_Endpoint_Process_Strategy_B (ACE_Process_Options *process_options);
- // Constructor
+ /// Destructor.
virtual ~TAO_AV_Endpoint_Process_Strategy_B (void);
- // Destructor.
protected:
+ /// Creates a "B" type stream endpoint, and a vdev
virtual int create_B (AVStreams::StreamEndPoint_B_ptr &stream_endpoint,
AVStreams::VDev_ptr &vdev,
CORBA::Environment &env);
- // Creates a "B" type stream endpoint, and a vdev
+ /// Gets the object reference of the "B" type streamendpoint.
virtual int get_stream_endpoint (CORBA::Environment &env);
- // Gets the object reference of the "B" type streamendpoint.
};
diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h
index aba7bf15931..bc1a20f5b10 100644
--- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h
+++ b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h
@@ -1,21 +1,17 @@
/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// Endpoint_Strategy_T.h
-//
-// = AUTHOR
-// Sumedh Mungee <sumedh@cs.wustl.edu>
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file Endpoint_Strategy_T.h
+ *
+ * $Id$
+ *
+ * @author Sumedh Mungee <sumedh@cs.wustl.edu>
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_ENDPOINT_STRATEGY_T_H
@@ -24,47 +20,49 @@
#include "Endpoint_Strategy.h"
+/**
+ * @class TAO_AV_Endpoint_Reactive_Strategy
+ * @brief Reactive strategy base class
+ */
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
class TAO_AV_Export TAO_AV_Endpoint_Reactive_Strategy
: public TAO_AV_Endpoint_Strategy
{
- // = DESCRIPTION
- // Reactive strategy base class
protected:
// Constructor
+ /// Constructor
TAO_AV_Endpoint_Reactive_Strategy (void);
- // Constructor
+ /// Destructor.
virtual ~TAO_AV_Endpoint_Reactive_Strategy (void);
- // Destructor.
+ /// creates and activates the streamendpoint, vdev, and mediacontrol
virtual int activate (void);
- // creates and activates the streamendpoint, vdev, and mediacontrol
+ /// activates the stream_endpoint with the POA
virtual int activate_stream_endpoint (CORBA::Environment &env) = 0;
- // activates the stream_endpoint with the POA
+ /// activates the vdev with the POA
virtual int activate_vdev (CORBA::Environment &env);
- // activates the vdev with the POA
+ /// activates the media controller with the POA
virtual int activate_mediactrl (CORBA::Environment &env);
- // activates the media controller with the POA
+ /// Bridge method to create a vdev, a la Acceptor. Applications
+ /// can override this
virtual int make_vdev (T_VDev *&vdev);
- // Bridge method to create a vdev, a la Acceptor. Applications
- // can override this
+ /// Bridge method to create a stream_endpoint, a la Acceptor. Applications
+ /// can override this
virtual int make_stream_endpoint (T_StreamEndpoint *&stream_endpoint);
- // Bridge method to create a stream_endpoint, a la Acceptor. Applications
- // can override this
+ /// Bridge method to create a media_ctrl, a la Acceptor. Applications
+ /// can override this
virtual int make_mediactrl (T_MediaCtrl *&media_ctrl);
- // Bridge method to create a media_ctrl, a la Acceptor. Applications
- // can override this
char* activate_with_poa (PortableServer::Servant servant, CORBA::Environment &env);
@@ -76,144 +74,155 @@ protected:
};
// ----------------------------------------------------------------------
+/**
+ * @class TAO_AV_Endpoint_Reactive_Strategy_A
+ * @brief Reactive strategy
+ */
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
class TAO_AV_Export TAO_AV_Endpoint_Reactive_Strategy_A
: public TAO_AV_Endpoint_Reactive_Strategy<T_StreamEndpoint, T_VDev , T_MediaCtrl>
{
- // = DESCRIPTION
- // Reactive strategy
public:
TAO_AV_Endpoint_Reactive_Strategy_A (void);
+ /// Constructor
int init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa);
- // Constructor
+ /// Destructor.
virtual ~TAO_AV_Endpoint_Reactive_Strategy_A (void);
- // Destructor.
+ /// Overrides the base class stream_endpoint activator, to activate
+ /// an "A" type endpoint
virtual int activate_stream_endpoint (CORBA::Environment &env);
- // Overrides the base class stream_endpoint activator, to activate
- // an "A" type endpoint
+ /// Called by the MMDevice, when it needs to create an A type endpoint
virtual int create_A (AVStreams::StreamEndPoint_A_ptr &stream_endpoint,
AVStreams::VDev_ptr &vdev,
CORBA::Environment &env);
- // Called by the MMDevice, when it needs to create an A type endpoint
};
// ----------------------------------------------------------------------
+/**
+ * @class TAO_AV_Endpoint_Reactive_Strategy_B
+ * @brief Reactive strategy
+ */
template <class T_StreamEndpoint, class T_Vdev , class T_MediaCtrl>
class TAO_AV_Export TAO_AV_Endpoint_Reactive_Strategy_B
: public TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_Vdev, T_MediaCtrl>
{
- // = DESCRIPTION
- // Reactive strategy
+
public:
+ /// Constructor
TAO_AV_Endpoint_Reactive_Strategy_B (void);
- // Constructor
+ /// Destructor.
virtual ~TAO_AV_Endpoint_Reactive_Strategy_B (void);
- // Destructor.
int init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa);
+ /// Overrides the base class stream_endpoint activator, to activate
+ /// a "B" type endpoint
virtual int activate_stream_endpoint (CORBA::Environment &env);
- // Overrides the base class stream_endpoint activator, to activate
- // a "B" type endpoint
+ /// Called by the MMDevice, when it needs to create a B type endpoint
virtual int create_B (AVStreams::StreamEndPoint_B_ptr &stream_endpoint,
AVStreams::VDev_ptr &vdev,
CORBA::Environment &env);
- // Called by the MMDevice, when it needs to create a B type endpoint
};
// ----------------------------------------------------------------------
+/**
+ * @class TAO_AV_Child_Process
+ *
+ * @brief Helper class for the child process created in
+ * TAO_AV_Endpoint_Process_Strategy
+ */
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
class TAO_AV_Export TAO_AV_Child_Process
{
- // = DESCRIPTION
- // Helper class for the child process created in TAO_AV_Endpoint_Process_Strategy
public:
+ /// Constructor
TAO_AV_Child_Process ();
- // Constructor
+ /// Destructor
virtual ~TAO_AV_Child_Process ();
- // Destructor
+ /// Initializes the ORB, creates and activates the
+ /// T_StreamEndpoint, T_VDev, T_MediaCtrl in the POA
int init (int argc, char **argv, CORBA::ORB_ptr orb, PortableServer::POA_ptr poa);
- // Initializes the ORB, creates and activates the
- // T_StreamEndpoint, T_VDev, T_MediaCtrl in the POA
+ /// runs the ORB event loop
int run (ACE_Time_Value *tv = 0);
- // runs the ORB event loop
protected:
+ /**
+ * Creates the objects and inserts them into the Naming
+ * Service, so the parent can pick the IOR's and
+ * return them to the client
+ */
int activate_objects (int argc,
char **argv,
CORBA::Environment &env);
- // Creates the objects and inserts them into the Naming
- // Service, so the parent can pick the IOR's and
- // return them to the client
+ ///activate the servant with the poa
char* activate_with_poa (PortableServer::Servant servant, CORBA::Environment &env);
- //activate the servant with the poa
+ /// Removes the vdev and streamendpoint names from the naming service.
int unbind_names (void);
- // Removes the vdev and streamendpoint names from the naming service.
+ /// Binds to the naming service
int bind_to_naming_service (CORBA::Environment &env);
- // Binds to the naming service
+ /// Registers vdev with the naming service
int register_vdev (CORBA::Environment &env);
- // Registers vdev with the naming service
+ /// Registers stream_endpoint with the naming service
int register_stream_endpoint (CORBA::Environment &env);
- // Registers stream_endpoint with the naming service
+ /// Releases the semaphore on which the parent is waiting on
int release_semaphore ();
- // Releases the semaphore on which the parent is waiting on
+ /// Bridge method to create a vdev, a la Acceptor. Applications
+ /// can override this
virtual int make_vdev (T_VDev *&vdev);
- // Bridge method to create a vdev, a la Acceptor. Applications
- // can override this
+ /// Bridge method to create a stream_endpoint, a la Acceptor. Applications
+ /// can override this
virtual int make_stream_endpoint (T_StreamEndpoint *&stream_endpoint);
- // Bridge method to create a stream_endpoint, a la Acceptor. Applications
- // can override this
+ /// Bridge method to create a media_ctrl, a la Acceptor. Applications
+ /// can override this
virtual int make_mediactrl (T_MediaCtrl *&media_ctrl);
- // Bridge method to create a media_ctrl, a la Acceptor. Applications
- // can override this
+ /// The root Naming Context of the TAO naming service
CosNaming::NamingContext_var naming_context_;
- // The root Naming Context of the TAO naming service
+ /// Name of the vdev
CosNaming::Name vdev_name_;
- // Name of the vdev
+ /// Name of the stream_endpoint
CosNaming::Name stream_endpoint_name_;
- // Name of the stream_endpoint
+ /// The stream endpoint member
T_StreamEndpoint *stream_endpoint_;
- // The stream endpoint member
+ /// The virtual device
T_VDev *vdev_;
- // The virtual device
+ /// Media controller
T_MediaCtrl *media_ctrl_;
- // Media controller
+ /// pid of this process
pid_t pid_;
- // pid of this process
+ /// Name of the host.
char host_[MAXHOSTNAMELEN];
- // Name of the host.
CORBA::ORB_ptr orb_;
@@ -222,36 +231,40 @@ protected:
};
// ----------------------------------------------------------------------
-
+/**
+ * @class TAO_AV_Child_Process_A
+ * @brief Helper class for the child process created in TAO_AV_Child_Process
+ */
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
class TAO_AV_Export TAO_AV_Child_Process_A
: public TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>
{
- // = DESCRIPTION
- // Helper class for the child process created in TAO_AV_Child_Process
public:
+ /// Constructor.
TAO_AV_Child_Process_A (void);
- // Constructor.
+ /// Destructor.
virtual ~TAO_AV_Child_Process_A (void);
- // Destructor.
};
// ----------------------------------------------------------------------
+/**
+ * @class TAO_AV_Child_Process_B
+ * @brief Helper class for the child process created in TAO_AV_Child_Process
+ */
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
class TAO_AV_Export TAO_AV_Child_Process_B
: public TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>
{
- // = DESCRIPTION
- // Helper class for the child process created in TAO_AV_Child_Process
+
public:
+ /// Constructor.
TAO_AV_Child_Process_B (void);
- // Constructor.
+ /// Destructor.
virtual ~TAO_AV_Child_Process_B (void);
- // Destructor.
};
#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
diff --git a/TAO/orbsvcs/orbsvcs/AV/Flows_T.h b/TAO/orbsvcs/orbsvcs/AV/Flows_T.h
index ff5debd734c..2277277f4cd 100644
--- a/TAO/orbsvcs/orbsvcs/AV/Flows_T.h
+++ b/TAO/orbsvcs/orbsvcs/AV/Flows_T.h
@@ -1,20 +1,16 @@
/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// Flows_T.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file Flows_T.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_FLOWS_T_H
#define TAO_AV_FLOWS_T_H
@@ -22,6 +18,12 @@
#include "AVStreams_i.h"
+/**
+ * @class TAO_FDev
+ * @brief Implementation of the AV/Streams Flow Device.
+ * A FlowConnection is used to bind FDevs for flows,
+ * much like how a StreamCtrl is used to bind MMDevices for streams.
+ */
template <class T_Producer, class T_Consumer>
class TAO_AV_Export TAO_FDev :
public virtual POA_AVStreams::FDev,
@@ -29,18 +31,19 @@ class TAO_AV_Export TAO_FDev :
public virtual PortableServer::RefCountServantBase
{
public:
+ /// default constructor
TAO_FDev (void);
- // default constructor
+ /// constructor taking a flowname.
TAO_FDev (const char *flowname);
- // constructor taking a flowname.
+ /// Destructor..
~TAO_FDev (void);
- // Destructor..
+ /// set/get the flowname.
+ /// create a flow producer object.
const char *flowname (void);
void flowname (const char *flowname);
- // set/get the flowname.
AVStreams::FlowProducer_ptr create_producer (AVStreams::FlowConnection_ptr the_requester,
AVStreams::QoS & the_qos,
CORBA::Boolean_out met_qos,
@@ -51,16 +54,16 @@ public:
AVStreams::streamOpDenied,
AVStreams::notSupported,
AVStreams::QoSRequestFailed));
- // create a flow producer object.
+ /// bridge method for the application to override the producer object
+ /// creation. Default implementation creates a TAO_FlowProducer.
virtual AVStreams::FlowProducer_ptr make_producer (AVStreams::FlowConnection_ptr the_requester,
AVStreams::QoS & the_qos,
CORBA::Boolean_out met_qos,
char *& named_fdev,
CORBA::Environment &env = CORBA::Environment::default_environment ());
- // bridge method for the application to override the producer object
- // creation. Default implementation creates a TAO_FlowProducer.
+ /// create a flow consumer object.
virtual AVStreams::FlowConsumer_ptr create_consumer (AVStreams::FlowConnection_ptr the_requester,
AVStreams::QoS & the_qos,
CORBA::Boolean_out met_qos,
@@ -71,16 +74,16 @@ public:
AVStreams::streamOpDenied,
AVStreams::notSupported,
AVStreams::QoSRequestFailed));
- // create a flow consumer object.
+ /// bridge method for the application to override the consumer object
+ /// creation. Default implementation creates a TAO_FlowConsumer.
virtual AVStreams::FlowConsumer_ptr make_consumer (AVStreams::FlowConnection_ptr the_requester,
AVStreams::QoS & the_qos,
CORBA::Boolean_out met_qos,
char *& named_fdev,
CORBA::Environment &env = CORBA::Environment::default_environment ());
- // bridge method for the application to override the consumer object
- // creation. Default implementation creates a TAO_FlowConsumer.
+ /// bind this FDev with another FDev.
virtual AVStreams::FlowConnection_ptr bind (AVStreams::FDev_ptr peer_device,
AVStreams::QoS & the_qos,
CORBA::Boolean_out is_met,
@@ -88,8 +91,8 @@ public:
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::streamOpFailed,
AVStreams::QoSRequestFailed));
- // bind this FDev with another FDev.
+ /// multicast bind is not implemented yet.
virtual AVStreams::FlowConnection_ptr bind_mcast (AVStreams::FDev_ptr first_peer,
AVStreams::QoS & the_qos,
CORBA::Boolean_out is_met,
@@ -97,15 +100,14 @@ public:
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::streamOpFailed,
AVStreams::QoSRequestFailed));
- // multicast bind is not implemented yet.
+ /// destroys this FDev.
virtual void destroy (AVStreams::FlowEndPoint_ptr the_ep,
const char * fdev_name,
CORBA::Environment &env =
CORBA::Environment::default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException,
AVStreams::notSupported));
- // destroys this FDev.
protected:
ACE_DLList <TAO_FlowProducer> producer_list_;
diff --git a/TAO/orbsvcs/orbsvcs/AV/MCast.h b/TAO/orbsvcs/orbsvcs/AV/MCast.h
index dd43b45c7d0..745aaa517b4 100644
--- a/TAO/orbsvcs/orbsvcs/AV/MCast.h
+++ b/TAO/orbsvcs/orbsvcs/AV/MCast.h
@@ -1,20 +1,16 @@
/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// MCast.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file MCast.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_MCAST_H
#define TAO_AV_MCAST_H
@@ -27,14 +23,15 @@
class TAO_AV_UDP_MCast_Flow_Handler;
+/**
+ * @class TAO_AV_UDP_MCast_Transport
+ * @brief A transport abstraction for Multicast dgram sockets.
+ * Uses the ACE_SOCK_Dgram_Mcast to send data.
+ */
class TAO_AV_UDP_MCast_Transport
:public TAO_AV_Transport
{
- // = TITLE
- // A transport abstraction for Multicast dgram sockets.
- //
- // = DESCRIPTION
- // Uses the ACE_SOCK_Dgram_Mcast to send the data.
+
public:
TAO_AV_UDP_MCast_Transport (void);
@@ -48,52 +45,56 @@ public:
virtual int mtu (void);
+ /// Write the complete Message_Block chain to the connection.
virtual ACE_Addr *get_peer_addr (void);
virtual ACE_Addr *get_local_addr (void);
virtual ssize_t send (const ACE_Message_Block *mblk,
ACE_Time_Value *s = 0);
- // Write the complete Message_Block chain to the connection.
+ /// Write the contents of the buffer of length len to the connection.
virtual ssize_t send (const char *buf,
size_t len,
ACE_Time_Value *s = 0);
- // Write the contents of the buffer of length len to the connection.
+ /// Write the contents of iovcnt iovec's to the connection.
virtual ssize_t send (const iovec *iov,
int iovcnt,
ACE_Time_Value *s = 0);
- // Write the contents of iovcnt iovec's to the connection.
+ /// Read len bytes from into buf.
virtual ssize_t recv (char *buf,
size_t len,
ACE_Time_Value *s = 0);
- // Read len bytes from into buf.
+ /// Read len bytes from into buf using flags.
virtual ssize_t recv (char *buf,
size_t len,
int flags,
ACE_Time_Value *s = 0);
- // Read len bytes from into buf using flags.
+ /// Read received data into the iovec buffers.
virtual ssize_t recv (iovec *iov,
int iovcnt,
ACE_Time_Value *s = 0);
- // Read received data into the iovec buffers.
protected:
TAO_AV_UDP_MCast_Flow_Handler *handler_;
ACE_INET_Addr peer_addr_;
ACE_INET_Addr local_addr_;
};
+/**
+ * @class TAO_AV_UDP_MCast_Flow_Handler
+ * @brief Flow Handler for data sent over multicast sockets.
+ */
class TAO_AV_UDP_MCast_Flow_Handler
:public virtual TAO_AV_Flow_Handler,
public virtual ACE_Event_Handler
{
public:
+ /// Ctor
+ /// Dtor
TAO_AV_UDP_MCast_Flow_Handler (void);
- // Ctor
~TAO_AV_UDP_MCast_Flow_Handler (void);
- // Dtor
virtual ACE_HANDLE get_handle (void) const;
virtual int handle_input (ACE_HANDLE fd);
virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0);
diff --git a/TAO/orbsvcs/orbsvcs/AV/Policy.h b/TAO/orbsvcs/orbsvcs/AV/Policy.h
index c103e4ca82e..70232b64f9c 100644
--- a/TAO/orbsvcs/orbsvcs/AV/Policy.h
+++ b/TAO/orbsvcs/orbsvcs/AV/Policy.h
@@ -1,19 +1,16 @@
/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// Policy.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file Policy.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_POLICY_H
#define TAO_AV_POLICY_H
@@ -100,27 +97,30 @@ class TAO_AV_Protocol_Object;
class TAO_AV_Transport;
class TAO_AV_Flow_Handler;
+/**
+ * @class TAO_AV_Callback
+ *
+ * @brief Callback class that the user will be implementing for receiving
+ * frames from the network and also for timer events.
+ */
class TAO_AV_Export TAO_AV_Callback
{
- // = TITLE
- // Callback class that the user will be implementing for receiving
- // frames from the network and also for timer events.
public:
TAO_AV_Callback (void);
virtual ~TAO_AV_Callback (void);
+ /// Called for opening the callback.
int open (TAO_AV_Protocol_Object *object,
TAO_AV_Flow_Handler *handler);
- // Called for opening the callback.
+ /// Called during Streamctrl->start.
virtual int handle_start (void);
- // Called during Streamctrl->start.
+ /// Called during Streamctrl->stop.
virtual int handle_stop (void);
- // Called during Streamctrl->stop.
+ /// Called during timeout for Flow Producers.
virtual int handle_timeout (void *arg);
- // Called during timeout for Flow Producers.
virtual int schedule_timer (void);
@@ -130,24 +130,26 @@ public:
// Called when a frame arrives for a FlowConsumer.
+ /// address from which the frame was received.
virtual int receive_control_frame (ACE_Message_Block *frame,
const ACE_Addr &address = ACE_Addr::sap_any);
- // address from which the frame was received.
+ /// Called during Streamctrl->destroy i.e tear_down of the stream
virtual int handle_destroy (void);
- // Called during Streamctrl->destroy i.e tear_down of the stream
+ /**
+ * Called to get the timeout. If tv is 0 then the framework stop
+ * calling this. This will be called during the start of the frame
+ * and also if schedule_timer is called to get the timeout.
+ */
virtual void get_timeout (ACE_Time_Value *&tv,
void *&arg);
- // Called to get the timeout. If tv is 0 then the framework stop
- // calling this. This will be called during the start of the frame
- // and also if schedule_timer is called to get the timeout.
+ /// Accessor to protocol object.
TAO_AV_Protocol_Object *protocol_object (void);
- // Accessor to protocol object.
+ /// get the policies for the protocol object.
virtual TAO_AV_PolicyList get_policies (void);
- // get the policies for the protocol object.
protected:
TAO_AV_Protocol_Object *protocol_object_;
TAO_AV_Flow_Handler *handler_;
diff --git a/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h b/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h
index 928de0f6726..b3c3345ae70 100644
--- a/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/AV/Protocol_Factory.h
@@ -1,19 +1,15 @@
/* -*- C++ -*- */
-// $Id$
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// Protocol_Factory
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+//=============================================================================
+/**
+ * @file Protocol_Factory
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_PROTOCOL_FACTORY_T_H
#define TAO_AV_PROTOCOL_FACTORY_T_H
@@ -23,50 +19,54 @@
#include "Policy.h"
#include "FlowSpec_Entry.h"
+/**
+ * @class TAO_AV_Protocol_Object
+ * @brief
+ */
class TAO_AV_Protocol_Object
{
public:
TAO_AV_Protocol_Object (void);
+ /// constructor.
TAO_AV_Protocol_Object (TAO_AV_Callback *callback,
TAO_AV_Transport *transport);
- // constructor.
+ /// Destructor
virtual ~TAO_AV_Protocol_Object (void);
- // Destructor
virtual int open (TAO_AV_Callback *callback,
TAO_AV_Transport *transport);
virtual int handle_input (void) = 0;
+ /// Called on a control object.
virtual int handle_control_input (ACE_Message_Block *control_frame,
const ACE_Addr &peer_address);
- // Called on a control object.
+ /// set/get policies.
virtual int set_policies (const TAO_AV_PolicyList &policy_list);
virtual TAO_AV_PolicyList get_policies (void);
- // set/get policies.
+ /// start/stop the flow.
virtual int start (void);
virtual int stop (void);
- // start/stop the flow.
+ /// send a data frame.
virtual int send_frame (ACE_Message_Block *frame,
TAO_AV_frame_info *frame_info = 0) = 0;
- // send a data frame.
+ /// send a frame in iovecs.
virtual int send_frame (const iovec *iov,
int iovcnt,
TAO_AV_frame_info *frame_info = 0) = 0;
- // send a frame in iovecs.
virtual int send_frame (const char *buf,
size_t len) = 0;
+ /// end the stream.
virtual void control_object (TAO_AV_Protocol_Object *object);
virtual int destroy (void) = 0;
- // end the stream.
TAO_AV_Transport *transport (void);
protected:
TAO_AV_Transport *transport_;
@@ -74,13 +74,17 @@ protected:
TAO_AV_Callback *callback_;
};
+/**
+ * @class TAO_AV_Flow_Protocol_Factory
+ * @brief
+ */
class TAO_AV_Export TAO_AV_Flow_Protocol_Factory : public ACE_Service_Object
{
public:
+ /// Initialization hook.
TAO_AV_Flow_Protocol_Factory (void);
virtual ~TAO_AV_Flow_Protocol_Factory (void);
virtual int init (int argc, char *argv[]);
- // Initialization hook.
virtual int match_protocol (const char *flow_string);
virtual TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry,
TAO_Base_StreamEndPoint *endpoint,
diff --git a/TAO/orbsvcs/orbsvcs/AV/RTCP.h b/TAO/orbsvcs/orbsvcs/AV/RTCP.h
index fbfba2a6790..04beb89ec2b 100644
--- a/TAO/orbsvcs/orbsvcs/AV/RTCP.h
+++ b/TAO/orbsvcs/orbsvcs/AV/RTCP.h
@@ -1,5 +1,4 @@
/* -*- C++ -*- */
-// $Id$
/*-
* Copyright (c) 1993-1994 The Regents of the University of California.
* All rights reserved.
@@ -34,19 +33,16 @@
* SUCH DAMAGE.
*/
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// RTCP.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+//=============================================================================
+/**
+ * @file RTCP.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_RTCP_H
#define TAO_AV_RTCP_H
@@ -61,7 +57,10 @@
#include <stdlib.h>
#include "RTP.h"
-// TAO_AV_RTP_State
+/**
+ * @class TAO_AV_RTP_State
+ * @brief Encapsulate the state of an RTP session
+ */
class TAO_AV_RTP_State
{
public:
@@ -83,6 +82,11 @@ public:
class TAO_AV_RTCP_Callback;
class TAO_AV_SourceManager;
+/**
+ * @class TAO_AV_RTCP
+ * @brief Encapsulate the header format for the Real Time Control
+ * Protocol (RTCP)
+ */
class TAO_AV_RTCP
{
public:
@@ -193,45 +197,52 @@ public:
class TAO_AV_Callback;
+/**
+ * @class TAO_AV_RTCP_Object
+ * @brief TAO_AV_Protocol_Object for RTCP protocol
+ */
class TAO_AV_Export TAO_AV_RTCP_Object
: public TAO_AV_Protocol_Object
{
public:
+ /// constructor.
TAO_AV_RTCP_Object (TAO_AV_Callback *callback,
TAO_AV_Transport *transport = 0);
- // constructor.
+ /// Destructor
virtual ~TAO_AV_RTCP_Object (void);
- // Destructor
virtual int handle_input (void);
virtual int handle_control_input (ACE_Message_Block *frame,
const ACE_Addr &peer_address);
+ /// set/get policies.
virtual int set_policies (const TAO_AV_PolicyList &policy_list);
- // set/get policies.
+ /// start/stop the flow.
virtual int start (void);
virtual int stop (void);
- // start/stop the flow.
+ /// send a data frame.
virtual int send_frame (ACE_Message_Block *frame,
TAO_AV_frame_info *frame_info = 0);
- // send a data frame.
+ /// send a frame in iovecs.
virtual int send_frame (const iovec *iov,
int iovcnt,
TAO_AV_frame_info *frame_info = 0);
- // send a frame in iovecs.
virtual int send_frame (const char*buf,
size_t len);
+ /// end the stream.
virtual int destroy (void);
- // end the stream.
};
-
+/**
+ * @class TAO_AV_Flow_Protocol_Factory
+ * @brief
+ */
class TAO_AV_Export TAO_AV_RTCP_Flow_Factory
:public TAO_AV_Flow_Protocol_Factory
{
@@ -246,40 +257,44 @@ public:
TAO_AV_Transport *transport);
};
+/**
+ * @class TAO_AV_RTCP_Callback
+ * @brief TAO_AV_Callback for RTCP protocol
+ */
class TAO_AV_Export TAO_AV_RTCP_Callback : public TAO_AV_Callback
{
public:
+ /// RTCP callback.
TAO_AV_RTCP_Callback (void);
- // RTCP callback.
+ /// virtual destructor.
virtual ~TAO_AV_RTCP_Callback (void);
- // virtual destructor.
+ /// Called during Streamctrl->start.
virtual int handle_start (void);
- // Called during Streamctrl->start.
+ /// Called during Streamctrl->stop.
virtual int handle_stop (void);
- // Called during Streamctrl->stop.
+ /// Called during timeout for Flow Producers.
virtual int handle_timeout (void *arg);
- // Called during timeout for Flow Producers.
+ /// Called when a frame arrives for a FlowConsumer.
virtual int receive_frame (ACE_Message_Block *frame,
TAO_AV_frame_info *frame_info = 0,
const ACE_Addr &peer_address = ACE_Addr::sap_any);
- // Called when a frame arrives for a FlowConsumer.
virtual int receive_control_frame (ACE_Message_Block *frame,
const ACE_Addr &peer_address = ACE_Addr::sap_any);
+ /// Called during Streamctrl->destroy i.e tear_down of the stream
+ /// @@coryan:Call it handle_destroy or handle_close.
virtual int handle_destroy (void);
- // Called during Streamctrl->destroy i.e tear_down of the stream
- // @@coryan:Call it handle_destroy or handle_close.
+ /// Called to get the timeout. If tv is 0 then the framework stop
+ /// calling this.
virtual void get_timeout (ACE_Time_Value *&tv,
void *&arg);
- // Called to get the timeout. If tv is 0 then the framework stop
- // calling this.
int demux (TAO_AV_RTP::rtphdr* rh,
ACE_Message_Block *data,
diff --git a/TAO/orbsvcs/orbsvcs/AV/RTP.h b/TAO/orbsvcs/orbsvcs/AV/RTP.h
index 3b08b618f5c..0933f13b532 100644
--- a/TAO/orbsvcs/orbsvcs/AV/RTP.h
+++ b/TAO/orbsvcs/orbsvcs/AV/RTP.h
@@ -34,21 +34,17 @@
* SUCH DAMAGE.
*/
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// RTP.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file RTP.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_RTP_H
#define TAO_AV_RTP_H
@@ -141,7 +137,10 @@ class TAO_AV_RTP_State;
// TAO_AV_RTP
//------------------------------------------------------------
-
+/**
+ * @class TAO_AV_RTP
+ * @brief Encapsulate the Real Time Protocol (RTP) header format.
+ */
class TAO_AV_RTP
{
public:
@@ -246,7 +245,10 @@ public:
};
-
+/**
+ * @class TAO_AV_Protocol_Object
+ * @brief TAO_AV_Protocol_object for the RTP protocol
+ */
class TAO_AV_RTP_Object : public TAO_AV_Protocol_Object
{
public:
@@ -278,17 +280,21 @@ protected:
CORBA::ULong ssrc_;
TAO_AV_Protocol_Object *control_object_;
+ /// Pre-allocated memory to receive the data...
ACE_Message_Block frame_;
- // Pre-allocated memory to receive the data...
};
+/**
+ * @class TAO_AV_RTP_Flow_Factory
+ * @brief
+ */
class TAO_AV_Export TAO_AV_RTP_Flow_Factory : public TAO_AV_Flow_Protocol_Factory
{
public:
+ /// Initialization hook.
TAO_AV_RTP_Flow_Factory (void);
virtual ~TAO_AV_RTP_Flow_Factory (void);
virtual int init (int argc, char *argv[]);
- // Initialization hook.
virtual int match_protocol (const char *flow_string);
virtual TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry,
TAO_Base_StreamEndPoint *endpoint,
diff --git a/TAO/orbsvcs/orbsvcs/AV/TCP.h b/TAO/orbsvcs/orbsvcs/AV/TCP.h
index 587a02f3530..44b16755b18 100644
--- a/TAO/orbsvcs/orbsvcs/AV/TCP.h
+++ b/TAO/orbsvcs/orbsvcs/AV/TCP.h
@@ -1,19 +1,15 @@
/* -*- C++ -*- */
-// $Id$
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// TCP.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+//=============================================================================
+/**
+ * @file TCP.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_TCP_H
#define TAO_AV_TCP_H
@@ -23,13 +19,17 @@
#include "Protocol_Factory.h"
#include "FlowSpec_Entry.h"
+/**
+ * @class TAO_AV_TCP_Factory
+ * @brief
+ */
class TAO_AV_Export TAO_AV_TCP_Factory : public TAO_AV_Transport_Factory
{
public:
+ /// Initialization hook.
TAO_AV_TCP_Factory (void);
virtual ~TAO_AV_TCP_Factory (void);
virtual int init (int argc, char *argv[]);
- // Initialization hook.
virtual int match_protocol (const char *protocol_string);
virtual TAO_AV_Acceptor *make_acceptor (void);
virtual TAO_AV_Connector *make_connector (void);
@@ -37,14 +37,15 @@ public:
class TAO_AV_TCP_Flow_Handler;
+/**
+ * @class TAO_AV_TCP_Transport
+ * @brief A transport abstraction for socket streams.
+ * Uses the ACE_SOCK_Stream to send the data.
+ */
class TAO_AV_TCP_Transport
:public TAO_AV_Transport
{
- // = TITLE
- // A transport abstraction for socket streams.
- //
- // = DESCRIPTION
- // Uses the ACE_SOCK_Stream to send the data.
+
public:
TAO_AV_TCP_Transport (void);
@@ -60,39 +61,43 @@ public:
virtual ACE_Addr *get_peer_addr (void);
+ /// Write the complete Message_Block chain to the connection.
virtual ssize_t send (const ACE_Message_Block *mblk,
ACE_Time_Value *s = 0);
- // Write the complete Message_Block chain to the connection.
+ /// Write the contents of the buffer of length len to the connection.
virtual ssize_t send (const char *buf,
size_t len,
ACE_Time_Value *s = 0);
- // Write the contents of the buffer of length len to the connection.
+ /// Write the contents of iovcnt iovec's to the connection.
virtual ssize_t send (const iovec *iov,
int iovcnt,
ACE_Time_Value *s = 0);
- // Write the contents of iovcnt iovec's to the connection.
+ /// Read len bytes from into buf.
virtual ssize_t recv (char *buf,
size_t len,
ACE_Time_Value *s = 0);
- // Read len bytes from into buf.
+ /// Read len bytes from into buf using flags.
virtual ssize_t recv (char *buf,
size_t len,
int flags,
ACE_Time_Value *s = 0);
- // Read len bytes from into buf using flags.
+ /// Read received data into the iovec buffers.
virtual ssize_t recv (iovec *iov,
int iovcnt,
ACE_Time_Value *s = 0);
- // Read received data into the iovec buffers.
protected:
TAO_AV_TCP_Flow_Handler *handler_;
};
+/**
+ * @class TAO_AV_TCP_Flow_Handler
+ * @brief
+ */
class TAO_AV_TCP_Flow_Handler
:public virtual TAO_AV_Flow_Handler,
public ACE_Svc_Handler <ACE_SOCK_STREAM, ACE_NULL_SYNCH>
@@ -110,6 +115,10 @@ protected:
class TAO_AV_TCP_Acceptor;
+/**
+ * @class TAO_AV_TCP_Base_Acceptor
+ * @brief
+ */
class TAO_AV_TCP_Base_Acceptor :public ACE_Acceptor <TAO_AV_TCP_Flow_Handler,ACE_SOCK_ACCEPTOR>
{
public:
@@ -124,6 +133,10 @@ protected:
TAO_FlowSpec_Entry *entry_;
};
+/**
+ * @class TAO_AV_TCP_Acceptor
+ * @brief
+ */
class TAO_AV_TCP_Acceptor :public TAO_AV_Acceptor
{
public:
@@ -151,6 +164,10 @@ protected:
class TAO_AV_TCP_Connector;
+/**
+ * @class TAO_AV_Base_Connector
+ * @brief
+ */
class TAO_AV_TCP_Base_Connector : public ACE_Connector <TAO_AV_TCP_Flow_Handler,ACE_SOCK_CONNECTOR>
{
public:
@@ -165,6 +182,10 @@ protected:
ACE_Reactor *reactor_;
};
+/**
+ * @class TAO_AV_TCP_Connector
+ * @brief
+ */
class TAO_AV_TCP_Connector : public TAO_AV_Connector
{
public:
@@ -187,20 +208,24 @@ protected:
TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_;
};
+/**
+ * @class TAO_AV_TCP_Object
+ * @brief TAO_AV_Protocol_Object for Transmission Control Protocol (TCP)
+ */
class TAO_AV_Export TAO_AV_TCP_Object : public TAO_AV_Protocol_Object
{
public:
TAO_AV_TCP_Object (TAO_AV_Callback *callback,
TAO_AV_Transport *transport = 0);
+ /// Dtor
virtual ~TAO_AV_TCP_Object (void);
- // Dtor
virtual int handle_input (void);
+ /// send a data frame.
virtual int send_frame (ACE_Message_Block *frame,
TAO_AV_frame_info *frame_info = 0);
- // send a data frame.
virtual int send_frame (const iovec *iov,
int iovcnt,
@@ -209,21 +234,25 @@ public:
virtual int send_frame (const char*buf,
size_t len);
+ /// end the stream.
virtual int destroy (void);
- // end the stream.
private:
+ /// Pre-allocated memory to receive the data...
ACE_Message_Block frame_;
- // Pre-allocated memory to receive the data...
};
+/**
+ * @class TAO_AV_TCP_Flow_Factory
+ * @brief
+ */
class TAO_AV_TCP_Flow_Factory : public TAO_AV_Flow_Protocol_Factory
{
public:
+ /// Initialization hook.
TAO_AV_TCP_Flow_Factory (void);
virtual ~TAO_AV_TCP_Flow_Factory (void);
virtual int init (int argc, char *argv[]);
- // Initialization hook.
virtual int match_protocol (const char *flow_string);
TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry,
TAO_Base_StreamEndPoint *endpoint,
diff --git a/TAO/orbsvcs/orbsvcs/AV/Transport.h b/TAO/orbsvcs/orbsvcs/AV/Transport.h
index 9b718a56692..6e3ad3bfa7d 100644
--- a/TAO/orbsvcs/orbsvcs/AV/Transport.h
+++ b/TAO/orbsvcs/orbsvcs/AV/Transport.h
@@ -1,19 +1,15 @@
/* -*- C++ -*- */
-// $Id$
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// Transport.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+//=============================================================================
+/**
+ * @file Transport.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_TRANSPORT_H
#define TAO_AV_TRANSPORT_H
@@ -36,29 +32,33 @@ class TAO_AV_Protocol_Object;
class TAO_AV_Callback;
class TAO_AV_Transport;
+/**
+ * @class TAO_AV_Transport_Item
+ * @brief
+ */
class TAO_AV_Export TAO_AV_Transport_Item
{
public:
+ /// creator method, the Transport name can only be set when the
+ /// object is created.
TAO_AV_Transport_Item (const ACE_CString &name);
- // creator method, the Transport name can only be set when the
- // object is created.
+ /// return a reference to the character representation of the Transport
+ /// factories name.
const ACE_CString &name (void);
- // return a reference to the character representation of the Transport
- // factories name.
+ /// return a pointer to the Transport factory.
TAO_AV_Transport_Factory *factory (void);
- // return a pointer to the Transport factory.
+ /// set the factory pointer's valus.
void factory (TAO_AV_Transport_Factory *factory);
- // set the factory pointer's valus.
private:
+ /// Transport factory name.
ACE_CString name_;
- // Transport factory name.
+ /// pointer to factory object.
TAO_AV_Transport_Factory *factory_;
- // pointer to factory object.
};
@@ -66,65 +66,71 @@ private:
class TAO_AV_Flow_Protocol_Factory;
+/**
+ * @class TAO_AV_Flow_Protocol_Item
+ * @brief
+ */
class TAO_AV_Export TAO_AV_Flow_Protocol_Item
{
public:
+ /// creator method, the Flow_Protocol name can only be set when the
+ /// object is created.
TAO_AV_Flow_Protocol_Item (const ACE_CString &name);
- // creator method, the Flow_Protocol name can only be set when the
- // object is created.
+ /// return a reference to the character representation of the Flow_Protocol
+ /// factories name.
const ACE_CString &name (void);
- // return a reference to the character representation of the Flow_Protocol
- // factories name.
+ /// return a pointer to the Flow_Protocol factory.
TAO_AV_Flow_Protocol_Factory *factory (void);
- // return a pointer to the Flow_Protocol factory.
+ /// set the factory pointer's valus.
void factory (TAO_AV_Flow_Protocol_Factory *factory);
- // set the factory pointer's valus.
private:
+ /// Flow_Protocol factory name.
ACE_CString name_;
- // Flow_Protocol factory name.
+ /// pointer to factory object.
TAO_AV_Flow_Protocol_Factory *factory_;
- // pointer to factory object.
};
-
-
+/**
+ * @class TAO_AV_Flow_Handler
+ * @brief
+ */
class TAO_AV_Flow_Handler
{
public:
+ /// Constructor.
TAO_AV_Flow_Handler (void);
- // Constructor.
+ /// Start/stop the flow handler.
virtual int start (TAO_FlowSpec_Entry::Role role);
virtual int stop (TAO_FlowSpec_Entry::Role role);
- // Start/stop the flow handler.
+ /// Schedule timer. Uses the get_timeout method on the callback.
virtual int schedule_timer (void);
- // Schedule timer. Uses the get_timeout method on the callback.
+ /// get the transport.
TAO_AV_Transport *transport (void);
- // get the transport.
+ /// set/get protocol_object.
TAO_AV_Protocol_Object* protocol_object (void);
void protocol_object (TAO_AV_Protocol_Object *protocol_object);
- // set/get protocol_object.
+ /// set the callback.
void callback (TAO_AV_Callback *callback);
- // set the callback.
+ /// Handle timeout. called from reactor.
int handle_timeout (const ACE_Time_Value &tv, const void *arg = 0);
- // Handle timeout. called from reactor.
+ /// set the remote address.
virtual int set_remote_address (ACE_Addr *address);
- // set the remote address.
+ /// get the underlying event handler. To be overridden by the derived clases.
virtual ACE_Event_Handler* event_handler (void) = 0;
- // get the underlying event handler. To be overridden by the derived clases.
protected:
TAO_AV_Transport *transport_;
@@ -136,14 +142,14 @@ protected:
};
// Transports
+/**
+ * @class TAO_AV_Transport
+ * @brief A Base class for the different transport protocols.
+ * All the different transports should derive and implement
+ * the open,close,send and recv methods.
+ */
class TAO_AV_Export TAO_AV_Transport
{
- // TITLE
- // = A Base class for the different transport protocols.
- //
- // DESCRIPTION
- // = All the different transports should derive and implement
- // the open,close,send and recv methods.
public:
TAO_AV_Transport (void);
@@ -153,38 +159,38 @@ public:
virtual int close (void) = 0;
+ /// Write the complete Message_Block chain to the connection.
virtual int mtu (void) = 0;
virtual ACE_Addr *get_peer_addr (void) = 0;
virtual ACE_Addr *get_local_addr (void);
virtual ssize_t send (const ACE_Message_Block *mblk,
ACE_Time_Value *s = 0) = 0;
- // Write the complete Message_Block chain to the connection.
+ /// Write the contents of the buffer of length len to the connection.
virtual ssize_t send (const char *buf,
size_t len,
ACE_Time_Value *s = 0) = 0;
- // Write the contents of the buffer of length len to the connection.
+ /// Write the contents of iovcnt iovec's to the connection.
virtual ssize_t send (const iovec *iov,
int iovcnt,
ACE_Time_Value *s = 0) = 0;
- // Write the contents of iovcnt iovec's to the connection.
+ /// Read len bytes from into buf.
virtual ssize_t recv (char *buf,
size_t len,
ACE_Time_Value *s = 0) = 0;
- // Read len bytes from into buf.
+ /// Read len bytes from into buf using flags.
virtual ssize_t recv (char *buf,
size_t len,
int flags,
ACE_Time_Value *s = 0) = 0;
- // Read len bytes from into buf using flags.
+ /// Read received data into the iovec buffers.
virtual ssize_t recv (iovec *iov,
int iovcnt,
ACE_Time_Value *s = 0) = 0;
- // Read received data into the iovec buffers.
};
@@ -192,6 +198,10 @@ class TAO_Base_StreamEndPoint;
class TAO_AV_Core;
class TAO_FlowSpec_Entry;
+/**
+ * @class TAO_AV_Acceptor
+ * @brief
+ */
class TAO_AV_Acceptor
{
public:
@@ -215,6 +225,10 @@ protected:
ACE_Addr *address_;
};
+/**
+ * @class TAO_AV_Connector
+ * @brief
+ */
class TAO_AV_Connector
{
public:
@@ -238,19 +252,25 @@ protected:
typedef ACE_Unbounded_Set<TAO_AV_Connector*> TAO_AV_ConnectorSet;
typedef ACE_Unbounded_Set_Iterator<TAO_AV_Connector*> TAO_AV_ConnectorSetItor;
+/**
+ * @class TAO_AV_Connector_Registry
+ * @brief
+ */
class TAO_AV_Export TAO_AV_Connector_Registry
{
public:
+ /**
+ * int connect (TAO_FlowSpec_Entry *flowspec,
+ * TAO_AV_Transport *&transport);
+ * TAO_AV_Connector *get_connector (TAO_AV_Core::Protocol protocol);
+ * Return the connector bridges
+ */
TAO_AV_Connector_Registry (void);
~TAO_AV_Connector_Registry (void);
int open (TAO_Base_StreamEndPoint *endpoint,
TAO_AV_Core *av_core,
TAO_AV_FlowSpecSet &flow_spec_set);
- // int connect (TAO_FlowSpec_Entry *flowspec,
- // TAO_AV_Transport *&transport);
int close_all (void);
- // TAO_AV_Connector *get_connector (TAO_AV_Core::Protocol protocol);
- // Return the connector bridges
TAO_AV_ConnectorSetItor begin (void);
TAO_AV_ConnectorSetItor end (void);
protected:
@@ -260,6 +280,10 @@ protected:
typedef ACE_Unbounded_Set<TAO_AV_Acceptor*> TAO_AV_AcceptorSet;
typedef ACE_Unbounded_Set_Iterator<TAO_AV_Acceptor*> TAO_AV_AcceptorSetItor;
+/**
+ * @class TAO_AV_Acceptor_Registry
+ * @brief
+ */
class TAO_AV_Export TAO_AV_Acceptor_Registry
{
public:
@@ -278,13 +302,17 @@ protected:
TAO_AV_AcceptorSet acceptors_;
};
+/**
+ * @class TAO_AV_Transport_Factory
+ * @brief
+ */
class TAO_AV_Export TAO_AV_Transport_Factory : public ACE_Service_Object
{
public:
+ /// Initialization hook.
TAO_AV_Transport_Factory (void);
virtual ~TAO_AV_Transport_Factory (void);
virtual int init (int argc, char *argv[]);
- // Initialization hook.
virtual int match_protocol (const char *protocol_string);
virtual TAO_AV_Acceptor *make_acceptor (void);
virtual TAO_AV_Connector *make_connector (void);
diff --git a/TAO/orbsvcs/orbsvcs/AV/UDP.h b/TAO/orbsvcs/orbsvcs/AV/UDP.h
index 71b3d3e5ce4..5a2d5728e9d 100644
--- a/TAO/orbsvcs/orbsvcs/AV/UDP.h
+++ b/TAO/orbsvcs/orbsvcs/AV/UDP.h
@@ -1,19 +1,15 @@
/* -*- C++ -*- */
-// $Id$
-// ============================================================================
-//
-// = LIBRARY
-// ORBSVCS AVStreams
-//
-// = FILENAME
-// UDP.h
-//
-// = AUTHOR
-// Nagarajan Surendran <naga@cs.wustl.edu>
-//
-//
-// ============================================================================
+//=============================================================================
+/**
+ * @file UDP.h
+ *
+ * $Id$
+ *
+ * @author Nagarajan Surendran <naga@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_AV_UDP_H
#define TAO_AV_UDP_H
@@ -22,13 +18,17 @@
#include "ace/OS.h"
#include "Protocol_Factory.h"
+/**
+ * @class TAO_AV_UDP_Factory
+ * @brief
+ */
class TAO_AV_Export TAO_AV_UDP_Factory : public TAO_AV_Transport_Factory
{
public:
+ /// Initialization hook.
TAO_AV_UDP_Factory (void);
virtual ~TAO_AV_UDP_Factory (void);
virtual int init (int argc, char *argv[]);
- // Initialization hook.
virtual int match_protocol (const char *protocol_string);
virtual TAO_AV_Acceptor *make_acceptor (void);
virtual TAO_AV_Connector *make_connector (void);
@@ -36,14 +36,15 @@ public:
class TAO_AV_UDP_Flow_Handler;
+/**
+ * @class TAO_AV_UDP_Transport
+ * @brief A transport abstraction for udp sockets.
+ * Uses the ACE_SOCK_Dgram to send the data.
+ */
class TAO_AV_UDP_Transport
:public TAO_AV_Transport
{
- // = TITLE
- // A transport abstraction for udp sockets.
- //
- // = DESCRIPTION
- // Uses the ACE_SOCK_Dgram to send the data.
+
public:
TAO_AV_UDP_Transport (void);
@@ -60,50 +61,54 @@ public:
virtual int set_remote_address (const ACE_INET_Addr &address);
+ /// Write the complete Message_Block chain to the connection.
virtual ssize_t send (const ACE_Message_Block *mblk,
ACE_Time_Value *s = 0);
- // Write the complete Message_Block chain to the connection.
+ /// Write the contents of the buffer of length len to the connection.
virtual ssize_t send (const char *buf,
size_t len,
ACE_Time_Value *s = 0);
- // Write the contents of the buffer of length len to the connection.
+ /// Write the contents of iovcnt iovec's to the connection.
virtual ssize_t send (const iovec *iov,
int iovcnt,
ACE_Time_Value *s = 0);
- // Write the contents of iovcnt iovec's to the connection.
+ /// Read len bytes from into buf.
virtual ssize_t recv (char *buf,
size_t len,
ACE_Time_Value *s = 0);
- // Read len bytes from into buf.
+ /// Read len bytes from into buf using flags.
virtual ssize_t recv (char *buf,
size_t len,
int flags,
ACE_Time_Value *s = 0);
- // Read len bytes from into buf using flags.
+ /// Read received data into the iovec buffers.
virtual ssize_t recv (iovec *iov,
int iovcnt,
ACE_Time_Value *s = 0);
- // Read received data into the iovec buffers.
protected:
TAO_AV_UDP_Flow_Handler *handler_;
ACE_Addr *addr_;
ACE_INET_Addr peer_addr_;
};
+/**
+ * @class TAO_AV_UDP_Flow_Handler
+ * @brief Flow Handler for UDP flows.
+ */
class TAO_AV_UDP_Flow_Handler
:public virtual TAO_AV_Flow_Handler,
public virtual ACE_Event_Handler
{
public:
+ ///Ctor
+ /// Dtor
TAO_AV_UDP_Flow_Handler (void);
- //Ctor
~TAO_AV_UDP_Flow_Handler (void);
- // Dtor
int open (ACE_Addr &address);
virtual TAO_AV_Transport *transport (void);
virtual int set_remote_address (ACE_Addr *address);
@@ -118,6 +123,10 @@ protected:
ACE_SOCK_Dgram sock_dgram_;
};
+/**
+ * @class TAO_AV_UDP_Acceptor
+ * @brief
+ */
class TAO_AV_UDP_Acceptor
:public TAO_AV_Acceptor
{
@@ -144,6 +153,10 @@ protected:
TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_;
};
+/**
+ * @class TAO_AV_UDP_Connector
+ * @brief
+ */
class TAO_AV_UDP_Connector
:public TAO_AV_Connector
{
@@ -165,20 +178,24 @@ protected:
TAO_AV_Flow_Protocol_Factory *flow_protocol_factory_;
};
+/**
+ * @class TAO_AV_UDP_Object
+ * @brief TAO_AV_Protocol_Object for the User Datagram Protocol (UDP)
+ */
class TAO_AV_Export TAO_AV_UDP_Object : public TAO_AV_Protocol_Object
{
public:
TAO_AV_UDP_Object (TAO_AV_Callback *callback,
TAO_AV_Transport *transport = 0);
+ /// Dtor
virtual ~TAO_AV_UDP_Object (void);
- // Dtor
virtual int handle_input (void);
+ /// send a data frame.
virtual int send_frame (ACE_Message_Block *frame,
TAO_AV_frame_info *frame_info = 0);
- // send a data frame.
virtual int send_frame (const iovec *iov,
int iovcnt,
@@ -187,21 +204,25 @@ public:
virtual int send_frame (const char*buf,
size_t len);
+ /// end the stream.
virtual int destroy (void);
- // end the stream.
private:
+ /// Pre-allocated memory to receive the data...
ACE_Message_Block frame_;
- // Pre-allocated memory to receive the data...
};
+/**
+ * @class TAO_AV_UDP_Flow_Factory
+ * @brief
+ */
class TAO_AV_UDP_Flow_Factory : public TAO_AV_Flow_Protocol_Factory
{
public:
+ /// Initialization hook.
TAO_AV_UDP_Flow_Factory (void);
virtual ~TAO_AV_UDP_Flow_Factory (void);
virtual int init (int argc, char *argv[]);
- // Initialization hook.
virtual int match_protocol (const char *flow_string);
TAO_AV_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry,
TAO_Base_StreamEndPoint *endpoint,