TAO_FlowConnection Class Reference

This class currently supports only one producer and one consumer per flow. More...

#include <AVStreams_i.h>

Collaboration diagram for TAO_FlowConnection:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_FlowConnection (void)
 default constructor.
virtual void stop (void)
 stop this flow.
virtual void start (void)
 start this flow.
virtual void destroy (void)
 destroy this flow.
virtual CORBA::Boolean modify_QoS (AVStreams::QoS &new_qos)
 modify the QoS for this flow.
virtual CORBA::Boolean use_flow_protocol (const char *fp_name, const CORBA::Any &fp_settings)
 use the specified flow protocol for this flow.
virtual void push_event (const AVStreams::streamEvent &the_event)
 pushes an event , to be handled by the application.
virtual CORBA::Boolean connect_devs (AVStreams::FDev_ptr a_party, AVStreams::FDev_ptr b_party, AVStreams::QoS &the_qos)
 connect 2 Flow Devices.
virtual CORBA::Boolean connect (AVStreams::FlowProducer_ptr flow_producer, AVStreams::FlowConsumer_ptr flow_consumer, AVStreams::QoS &the_qos)
 Connect a flow producer and consumer under this flow connection.
virtual CORBA::Boolean disconnect (void)
 disconnect this flow connection.
virtual CORBA::Boolean add_producer (AVStreams::FlowProducer_ptr flow_producer, AVStreams::QoS &the_qos)
 adds the producer to this flow connection.
virtual CORBA::Boolean add_consumer (AVStreams::FlowConsumer_ptr flow_consumer, AVStreams::QoS &the_qos)
 adds a consumer to this flow connection.
virtual CORBA::Boolean drop (AVStreams::FlowEndPoint_ptr target)
 drops a flow endpoint from the flow.
int set_mcast_addr (ACE_CString addr, u_short port)
void set_protocol (const char *protocol)

Protected Types

typedef ACE_Unbounded_Set<
AVStreams::FlowProducer_ptr > 
FlowProducer_Set
typedef ACE_Unbounded_Set_Iterator<
AVStreams::FlowProducer_ptr > 
FlowProducer_SetItor
typedef ACE_Unbounded_Set<
AVStreams::FlowConsumer_ptr > 
FlowConsumer_Set
typedef ACE_Unbounded_Set_Iterator<
AVStreams::FlowConsumer_ptr > 
FlowConsumer_SetItor

Protected Attributes

FlowProducer_Set flow_producer_set_
 The multicast address returned by the producer.
FlowConsumer_Set flow_consumer_set_
CORBA::String_var fp_name_
CORBA::Any fp_settings_
CORBA::String_var producer_address_
int ip_multicast_
 IP Multicasting is used.
TAO_MCastConfigIfmcastconfigif_i_
AVStreams::MCastConfigIf_var mcastconfigif_
u_short mcast_port_
ACE_CString mcast_addr_
CORBA::String_var protocol_

Detailed Description

This class currently supports only one producer and one consumer per flow.

Definition at line 801 of file AVStreams_i.h.


Member Typedef Documentation

typedef ACE_Unbounded_Set<AVStreams::FlowConsumer_ptr> TAO_FlowConnection::FlowConsumer_Set [protected]

Definition at line 859 of file AVStreams_i.h.

typedef ACE_Unbounded_Set_Iterator<AVStreams::FlowConsumer_ptr> TAO_FlowConnection::FlowConsumer_SetItor [protected]

Definition at line 860 of file AVStreams_i.h.

typedef ACE_Unbounded_Set<AVStreams::FlowProducer_ptr> TAO_FlowConnection::FlowProducer_Set [protected]

Definition at line 857 of file AVStreams_i.h.

typedef ACE_Unbounded_Set_Iterator<AVStreams::FlowProducer_ptr> TAO_FlowConnection::FlowProducer_SetItor [protected]

Definition at line 858 of file AVStreams_i.h.


Constructor & Destructor Documentation

TAO_FlowConnection::TAO_FlowConnection ( void   ) 

default constructor.

Definition at line 3351 of file AVStreams_i.cpp.

03352   :fp_name_ (CORBA::string_dup ("")),
03353    ip_multicast_ (0)
03354 {
03355 }


Member Function Documentation

CORBA::Boolean TAO_FlowConnection::add_consumer ( AVStreams::FlowConsumer_ptr  flow_consumer,
AVStreams::QoS the_qos 
) [virtual]

adds a consumer to this flow connection.

Definition at line 3722 of file AVStreams_i.cpp.

References CORBA::Exception::_tao_print_exception(), ACE_ERROR_RETURN, ACE_Unbounded_Set_Ex< T, C >::begin(), ACE_Unbounded_Set_Ex< T, C >::end(), flow_consumer_set_, flow_producer_set_, fp_name_, ACE_Unbounded_Set_Ex< T, C >::insert(), CORBA::is_nil(), LM_ERROR, LM_WARNING, mcastconfigif_, and CORBA::string_dup().

03724 {
03725   try
03726     {
03727       AVStreams::FlowConsumer_ptr flow_consumer =
03728         AVStreams::FlowConsumer::_duplicate (consumer);
03729       FlowConsumer_SetItor begin = this->flow_consumer_set_.begin ();
03730       FlowConsumer_SetItor end = this->flow_consumer_set_.end ();
03731       for (; begin != end; ++begin)
03732         {
03733           if ((*begin)->_is_equivalent (consumer))
03734             // Consumer exists in the set, a duplicate.
03735             ACE_ERROR_RETURN ((LM_WARNING, "TAO_FlowConnection::add_Consumer: Consumer already exists\n"), 1);
03736         }
03737       int result = this->flow_consumer_set_.insert (flow_consumer);
03738       if (result == 1)
03739         {
03740           // consumer exists in the set, a duplicate.
03741           ACE_ERROR_RETURN ((LM_WARNING, "TAO_FlowConnection::add_consumer: consumer already exists\n"), 1);
03742         }
03743 
03744       FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin ();
03745       // @@Lets take that the first entry as the only producer. We're
03746       // not sure if we can have multiple flow producers in a
03747       // flowconnection. We can have multiple producer in the MtM binding,
03748       // in which case the first producer that gets added is the leader.
03749       AVStreams::FlowProducer_ptr flow_producer = (*producer_begin);
03750 
03751       AVStreams::protocolSpec protocols (1);
03752       protocols.length (1);
03753       protocols [0] = CORBA::string_dup (this->producer_address_.in ());
03754 
03755       if (!this->ip_multicast_)
03756         {
03757           flow_consumer->set_protocol_restriction (protocols);
03758           char * address =
03759             flow_consumer->go_to_listen (the_qos,
03760                                          1,
03761                                          flow_producer,
03762                                          this->fp_name_.inout ());
03763           CORBA::Boolean is_met;
03764           flow_producer->connect_mcast (the_qos,
03765                                         is_met,
03766                                         address,
03767                                         this->fp_name_.inout ());
03768         }
03769        else
03770         {
03771           // The spec says go_to_listen is called with the multicast
03772           // address returned from the connect_mcast call called
03773           // during add_producer. But go_to_listen doesn't have a
03774           // address parameter. I guess it should be connect_to_peer.
03775           // IP Multicasting.
03776           flow_consumer->connect_to_peer (the_qos,
03777                                           this->producer_address_.in (),
03778                                           this->fp_name_.inout ());
03779 
03780           //  char * address =
03781           //             flow_consumer->go_to_listen (the_qos,
03782           //                                          1,
03783           //                                          flow_producer,
03784           //                                          this->fp_name_.inout ()
03785           //);
03786 
03787         }
03788       if (CORBA::is_nil (this->mcastconfigif_.in ()))
03789         ACE_ERROR_RETURN ((LM_ERROR, "TAO_FlowConnection::add_consumer: first add a producer and then a consumer\n"), 0);
03790       // @@ Is this the right place to do set_peer?
03791       AVStreams::flowSpec flow_spec;
03792       AVStreams::streamQoS stream_qos (1);
03793       stream_qos.length (1);
03794       stream_qos [0] = the_qos;
03795       this->mcastconfigif_->set_peer (flow_consumer,
03796                                       stream_qos,
03797                                       flow_spec);
03798     }
03799   catch (const CORBA::Exception& ex)
03800     {
03801       ex._tao_print_exception (
03802         "TAO_FlowConnection::add_consumer");
03803       return 0;
03804     }
03805   return 1;
03806 }

CORBA::Boolean TAO_FlowConnection::add_producer ( AVStreams::FlowProducer_ptr  flow_producer,
AVStreams::QoS the_qos 
) [virtual]

adds the producer to this flow connection.

Definition at line 3633 of file AVStreams_i.cpp.

References CORBA::Exception::_tao_print_exception(), ACE_ERROR_RETURN, ACE_NEW_RETURN, ACE_INET_Addr::addr_to_string(), TAO_FlowSpec_Entry::address(), ACE_Unbounded_Set_Ex< T, C >::begin(), ACE_Unbounded_Set_Ex< T, C >::end(), flow_producer_set_, ACE_Unbounded_Set_Ex< T, C >::insert(), ip_multicast_, CORBA::is_nil(), LM_WARNING, mcastconfigif_, mcastconfigif_i_, ACE_OS::sprintf(), and ACE_OS::strcpy().

03635 {
03636   try
03637     {
03638           AVStreams::FlowProducer_ptr flow_producer =
03639             AVStreams::FlowProducer::_duplicate (producer);
03640           // @@Naga:Sometimes the same producer could be added with a different object reference.
03641           // There's no portable way of comparing obj refs. but we have to do this till we find
03642           // a permanent solution.For eg. 2 different flowproducers for the same flow in a
03643           // Multipoint to Multipoint binding will have the same flowname and hence cannot be
03644           // used for resolving ties.
03645           FlowProducer_SetItor begin = this->flow_producer_set_.begin ();
03646           FlowProducer_SetItor end = this->flow_producer_set_.end ();
03647           for (; begin != end; ++begin)
03648             {
03649               if ((*begin)->_is_equivalent (producer))
03650               // producer exists in the set, a duplicate.
03651               ACE_ERROR_RETURN ((LM_WARNING, "TAO_FlowConnection::add_producer: producer already exists\n"), 1);
03652             }
03653           // We need to check the return value of the insert into the flow producer
03654           // set, since multiconnect could be called many times which will lead to
03655           // a call to add_producer every time a sink is added. If the producer is already
03656           // present in our list we just return immediately.
03657           int result = this->flow_producer_set_.insert (flow_producer);
03658           if (result == 1)
03659             {
03660               // producer exists in the set, a duplicate.
03661               ACE_ERROR_RETURN ((LM_WARNING, "TAO_FlowConnection::add_producer: producer already exists\n"), 1);
03662             }
03663           CORBA::Boolean met_qos;
03664           char mcast_address[BUFSIZ];
03665           if (this->producer_address_.in () == 0)
03666             {
03667               ACE_INET_Addr mcast_addr;
03668               mcast_addr.set (this->mcast_port_,
03669                               this->mcast_addr_.c_str ()
03670                               );
03671 
03672               char buf [BUFSIZ];
03673               mcast_addr.addr_to_string (buf, BUFSIZ);
03674               ACE_OS::sprintf (mcast_address, "%s=%s", this->protocol_.in (), buf);
03675             }
03676           else
03677             {
03678               ACE_OS::strcpy (mcast_address, this->producer_address_.in ());
03679             }
03680           char *address = flow_producer->connect_mcast (the_qos,
03681                                                         met_qos,
03682                                                         mcast_address,
03683                                                         this->fp_name_.in ());
03684 
03685           if (this->producer_address_.in () == 0)
03686             {
03687               TAO_Forward_FlowSpec_Entry entry ("", "", "", "", address);
03688               if (entry.address () != 0)
03689                 {
03690                   // Internet multicasting is in use.
03691                   this->producer_address_ = address;
03692                 }
03693               else
03694                 {
03695                   // ATM Multicasting is in use.
03696                   this->ip_multicast_ = 0;
03697                 }
03698             }
03699           // set the multicast peer.
03700           if (CORBA::is_nil (this->mcastconfigif_.in ()))
03701             {
03702               ACE_NEW_RETURN (this->mcastconfigif_i_,
03703                               TAO_MCastConfigIf,
03704                               0);
03705               this->mcastconfigif_ = this->mcastconfigif_i_->_this ();
03706             }
03707           AVStreams::FlowConnection_var flowconnection = this->_this ();
03708           flow_producer->set_Mcast_peer (flowconnection.in (),
03709                                          this->mcastconfigif_.in (),
03710                                          the_qos);
03711     }
03712   catch (const CORBA::Exception& ex)
03713     {
03714       ex._tao_print_exception (
03715         "TAO_FlowConnection::add_producer");
03716       return 0;
03717     }
03718   return 1;
03719 }

CORBA::Boolean TAO_FlowConnection::connect ( AVStreams::FlowProducer_ptr  flow_producer,
AVStreams::FlowConsumer_ptr  flow_consumer,
AVStreams::QoS the_qos 
) [virtual]

Connect a flow producer and consumer under this flow connection.

Definition at line 3566 of file AVStreams_i.cpp.

References CORBA::Exception::_tao_print_exception(), ACE_DEBUG, flow_consumer_set_, flow_producer_set_, ACE_Unbounded_Set_Ex< T, C >::insert(), LM_DEBUG, ACE_OS::strcmp(), and TAO_debug_level.

Referenced by connect_devs().

03569 {
03570   try
03571     {
03572 
03573       AVStreams::FlowProducer_ptr flow_producer =
03574         AVStreams::FlowProducer::_duplicate (producer);
03575       AVStreams::FlowConsumer_ptr flow_consumer =
03576         AVStreams::FlowConsumer::_duplicate (consumer);
03577 
03578       this->flow_producer_set_.insert (flow_producer);
03579       this->flow_consumer_set_.insert (flow_consumer);
03580       AVStreams::FlowConnection_var flowconnection =
03581         this->_this ();
03582 
03583       flow_producer->set_peer (flowconnection.in (),
03584                                flow_consumer,
03585                                the_qos);
03586 
03587       flow_consumer->set_peer (flowconnection.in (),
03588                                flow_producer,
03589                                the_qos);
03590 
03591       char *consumer_address =
03592         flow_consumer->go_to_listen (the_qos,
03593                                      0, // false for is_mcast
03594                                      flow_producer,
03595                                      this->fp_name_.inout ());
03596 
03597       if (ACE_OS::strcmp (consumer_address, "") == 0)
03598         {
03599           // Consumer is not willing to listen, so try the producer.
03600           consumer_address = flow_producer->go_to_listen (the_qos,
03601                                                           0, // false for is_mcast
03602                                                           flow_consumer,
03603                                                           this->fp_name_.inout ());
03604           flow_consumer->connect_to_peer (the_qos,
03605                                           consumer_address,
03606                                           this->fp_name_.inout ());
03607           // @@ Naga: We have to find means to set the reverse channel for the producer.
03608           // Its broken in the point-to_point case for UDP.
03609         }
03610       else
03611         {
03612           if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_FlowConnection::connect_to_peer addres: %s", consumer_address));
03613           flow_producer->connect_to_peer (the_qos,
03614                                           consumer_address,
03615                                           this->fp_name_.inout ());
03616         }
03617     }
03618   catch (const CORBA::Exception& ex)
03619     {
03620       ex._tao_print_exception ("TAO_FlowConnection::connect");
03621     }
03622   return 1;
03623 }

CORBA::Boolean TAO_FlowConnection::connect_devs ( AVStreams::FDev_ptr  a_party,
AVStreams::FDev_ptr  b_party,
AVStreams::QoS the_qos 
) [virtual]

connect 2 Flow Devices.

Definition at line 3531 of file AVStreams_i.cpp.

References CORBA::Exception::_tao_print_exception(), and connect().

03534 {
03535   CORBA::Boolean result = 0;
03536   try
03537     {
03538       AVStreams::FlowConnection_var flowconnection = this->_this ();
03539       CORBA::Boolean met_qos;
03540       CORBA::String_var named_fdev ((const char *)"");
03541       AVStreams::FlowProducer_var producer =
03542         a_party->create_producer (flowconnection.in (),
03543                                   flow_qos,
03544                                   met_qos,
03545                                   named_fdev.inout ());
03546       AVStreams::FlowConsumer_var consumer =
03547         b_party->create_consumer (flowconnection.in (),
03548                                   flow_qos,
03549                                   met_qos,
03550                                   named_fdev.inout ());
03551       result = this->connect (producer.in (),
03552                               consumer.in (),
03553                               flow_qos);
03554     }
03555   catch (const CORBA::Exception& ex)
03556     {
03557       ex._tao_print_exception (
03558         "TAO_FlowConnection::connect_devs");
03559       return 0;
03560     }
03561   return result;
03562 }

void TAO_FlowConnection::destroy ( void   )  [virtual]

destroy this flow.

Definition at line 3457 of file AVStreams_i.cpp.

References CORBA::Exception::_tao_print_exception(), ACE_DEBUG, ACE_Unbounded_Set_Ex< T, C >::begin(), TAO_AV_Core::deactivate_servant(), flow_consumer_set_, flow_producer_set_, LM_DEBUG, and TAO_debug_level.

03458 {
03459   try
03460     {
03461       FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin
03462         ();
03463       for (FlowProducer_SetItor producer_end =
03464              this->flow_producer_set_.end ();
03465            producer_begin != producer_end; ++producer_begin)
03466         {
03467           (*producer_begin)->destroy ();
03468         }
03469       FlowConsumer_SetItor consumer_begin = this->flow_consumer_set_.begin
03470         ();
03471       for (FlowConsumer_SetItor consumer_end =
03472              this->flow_consumer_set_.end ();
03473            consumer_begin != consumer_end; ++consumer_begin)
03474         {
03475           (*consumer_begin)->destroy ();
03476         }
03477     }
03478   catch (const CORBA::Exception& ex)
03479     {
03480       ex._tao_print_exception ("TAO_FlowConnection::destroy");
03481       return;
03482     }
03483   int result = TAO_AV_Core::deactivate_servant (this);
03484   if (result < 0)
03485     if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, "TAO_FlowConnection::destroy failed\n"));
03486 }

CORBA::Boolean TAO_FlowConnection::disconnect ( void   )  [virtual]

disconnect this flow connection.

Definition at line 3627 of file AVStreams_i.cpp.

03628 {
03629   return  0;
03630 }

CORBA::Boolean TAO_FlowConnection::drop ( AVStreams::FlowEndPoint_ptr  target  )  [virtual]

drops a flow endpoint from the flow.

Definition at line 3809 of file AVStreams_i.cpp.

03810 {
03811   ACE_UNUSED_ARG (target);
03812   return 0;
03813 }

CORBA::Boolean TAO_FlowConnection::modify_QoS ( AVStreams::QoS new_qos  )  [virtual]

modify the QoS for this flow.

Definition at line 3490 of file AVStreams_i.cpp.

03491 {
03492   ACE_UNUSED_ARG (new_qos);
03493   return 0;
03494 }

void TAO_FlowConnection::push_event ( const AVStreams::streamEvent the_event  )  [virtual]

pushes an event , to be handled by the application.

Definition at line 3525 of file AVStreams_i.cpp.

03526 {
03527   ACE_UNUSED_ARG (the_event);
03528 }

int TAO_FlowConnection::set_mcast_addr ( ACE_CString  addr,
u_short  port 
)

Definition at line 3366 of file AVStreams_i.cpp.

References mcast_addr_, and mcast_port_.

Referenced by TAO_StreamEndPoint_A::multiconnect().

03367 {
03368   this->mcast_addr_ = mcast_addr;
03369   this->mcast_port_ = mcast_port;
03370   return 0;
03371 }

void TAO_FlowConnection::set_protocol ( const char *  protocol  ) 

Definition at line 3374 of file AVStreams_i.cpp.

References protocol_.

Referenced by TAO_StreamEndPoint_A::multiconnect().

03375 {
03376   this->protocol_ = protocol;
03377 }

void TAO_FlowConnection::start ( void   )  [virtual]

start this flow.

Definition at line 3419 of file AVStreams_i.cpp.

References CORBA::Exception::_tao_print_exception(), ACE_Unbounded_Set_Ex< T, C >::begin(), flow_consumer_set_, flow_producer_set_, and printf().

03420 {
03421   try
03422     {
03423       FlowConsumer_SetItor consumer_begin = this->flow_consumer_set_.begin
03424         ();
03425       for (FlowConsumer_SetItor consumer_end =
03426              this->flow_consumer_set_.end ();
03427            consumer_begin != consumer_end; ++consumer_begin)
03428         {
03429           (*consumer_begin)->start ();
03430         }
03431       FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin
03432         ();
03433       for (FlowProducer_SetItor producer_end =
03434              this->flow_producer_set_.end ();
03435            producer_begin != producer_end; ++producer_begin)
03436         {
03437           (*producer_begin)->start ();
03438         }
03439     }
03440  catch(AVStreams::noSuchFlow& ex)
03441     {
03442     throw; //ACS mod 2007-08
03443     }
03444   catch (const CORBA::Exception& ex)
03445     {
03446     ex._tao_print_exception ("TAO_FlowConnection::start");
03447     throw;  //ACS mod 2007-08
03448     }
03449   catch(...)
03450     {
03451       printf ("TAO_FlowConnection::start - unknown exception\n");
03452     }
03453 }

void TAO_FlowConnection::stop ( void   )  [virtual]

stop this flow.

Definition at line 3381 of file AVStreams_i.cpp.

References CORBA::Exception::_tao_print_exception(), ACE_Unbounded_Set_Ex< T, C >::begin(), flow_consumer_set_, flow_producer_set_, and printf().

03382 {
03383   try
03384     {
03385       FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin
03386         ();
03387       for (FlowProducer_SetItor producer_end =
03388              this->flow_producer_set_.end ();
03389            producer_begin != producer_end; ++producer_begin)
03390         {
03391           (*producer_begin)->stop ();
03392         }
03393       FlowConsumer_SetItor consumer_begin = this->flow_consumer_set_.begin
03394         ();
03395       for (FlowConsumer_SetItor consumer_end =
03396              this->flow_consumer_set_.end ();
03397            consumer_begin != consumer_end; ++consumer_begin)
03398         {
03399           (*consumer_begin)->stop ();
03400         }
03401     }
03402  catch(AVStreams::noSuchFlow& ex)
03403     {
03404     throw; //ACS mod 2007-08
03405     }
03406   catch (const CORBA::Exception& ex)
03407     {
03408     ex._tao_print_exception ("TAO_FlowConnection::stop");
03409     throw;  //ACS mod 2007-08
03410     }
03411   catch(...)
03412     {
03413       printf ("TAO_FlowConnection::stop - unknown exception\n");
03414     }
03415 }

CORBA::Boolean TAO_FlowConnection::use_flow_protocol ( const char *  fp_name,
const CORBA::Any &  fp_settings 
) [virtual]

use the specified flow protocol for this flow.

Definition at line 3498 of file AVStreams_i.cpp.

References ACE_Unbounded_Set_Ex< T, C >::begin(), flow_consumer_set_, flow_producer_set_, fp_name_, and fp_settings_.

03500 {
03501   this->fp_name_ = fp_name;
03502   this->fp_settings_ = fp_settings;
03503   FlowProducer_SetItor producer_begin = this->flow_producer_set_.begin
03504     ();
03505   for (FlowProducer_SetItor producer_end =
03506          this->flow_producer_set_.end ();
03507        producer_begin != producer_end; ++producer_begin)
03508     {
03509       (*producer_begin)->use_flow_protocol
03510         (fp_name, fp_settings);
03511     }
03512   FlowConsumer_SetItor consumer_begin = this->flow_consumer_set_.begin
03513     ();
03514   for (FlowConsumer_SetItor consumer_end =
03515          this->flow_consumer_set_.end ();
03516        consumer_begin != consumer_end; ++consumer_begin)
03517     {
03518       (*consumer_begin)->use_flow_protocol
03519         (fp_name, fp_settings);
03520     }
03521   return 1;
03522 }


Member Data Documentation

FlowConsumer_Set TAO_FlowConnection::flow_consumer_set_ [protected]

Definition at line 864 of file AVStreams_i.h.

Referenced by add_consumer(), connect(), destroy(), start(), stop(), and use_flow_protocol().

FlowProducer_Set TAO_FlowConnection::flow_producer_set_ [protected]

The multicast address returned by the producer.

Definition at line 863 of file AVStreams_i.h.

Referenced by add_consumer(), add_producer(), connect(), destroy(), start(), stop(), and use_flow_protocol().

CORBA::String_var TAO_FlowConnection::fp_name_ [protected]

Definition at line 865 of file AVStreams_i.h.

Referenced by add_consumer(), and use_flow_protocol().

CORBA::Any TAO_FlowConnection::fp_settings_ [protected]

Definition at line 866 of file AVStreams_i.h.

Referenced by use_flow_protocol().

int TAO_FlowConnection::ip_multicast_ [protected]

IP Multicasting is used.

Definition at line 870 of file AVStreams_i.h.

Referenced by add_producer().

ACE_CString TAO_FlowConnection::mcast_addr_ [protected]

Definition at line 874 of file AVStreams_i.h.

Referenced by set_mcast_addr().

u_short TAO_FlowConnection::mcast_port_ [protected]

Definition at line 873 of file AVStreams_i.h.

Referenced by set_mcast_addr().

AVStreams::MCastConfigIf_var TAO_FlowConnection::mcastconfigif_ [protected]

Definition at line 872 of file AVStreams_i.h.

Referenced by add_consumer(), and add_producer().

TAO_MCastConfigIf* TAO_FlowConnection::mcastconfigif_i_ [protected]

Definition at line 871 of file AVStreams_i.h.

Referenced by add_producer().

CORBA::String_var TAO_FlowConnection::producer_address_ [protected]

Definition at line 867 of file AVStreams_i.h.

CORBA::String_var TAO_FlowConnection::protocol_ [protected]

Definition at line 875 of file AVStreams_i.h.

Referenced by set_protocol().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:48:09 2010 for TAO_AV by  doxygen 1.4.7