00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00009 00010 namespace OpenDDS { 00011 namespace DCPS { 00012 00013 ACE_INLINE MulticastTransport& 00014 MulticastDataLink::transport() 00015 { 00016 return static_cast<MulticastTransport&>(DataLink::impl()); 00017 } 00018 00019 ACE_INLINE MulticastPeer 00020 MulticastDataLink::local_peer() const 00021 { 00022 return this->local_peer_; 00023 } 00024 00025 ACE_INLINE MulticastSendStrategy* 00026 MulticastDataLink::send_strategy() 00027 { 00028 return this->send_strategy_.in(); 00029 } 00030 00031 ACE_INLINE MulticastReceiveStrategy* 00032 MulticastDataLink::receive_strategy() 00033 { 00034 return this->recv_strategy_.in(); 00035 } 00036 00037 ACE_INLINE SingleSendBuffer* 00038 MulticastDataLink::send_buffer() 00039 { 00040 return this->send_buffer_.get(); 00041 } 00042 00043 ACE_INLINE MulticastInst& 00044 MulticastDataLink::config() 00045 { 00046 return transport().config(); 00047 } 00048 00049 ACE_INLINE TransportReactorTask* 00050 MulticastDataLink::reactor_task() 00051 { 00052 return this->reactor_task_; 00053 } 00054 00055 ACE_INLINE ACE_Reactor* 00056 MulticastDataLink::get_reactor() 00057 { 00058 if (this->reactor_task_ == 0) return 0; 00059 return this->reactor_task_->get_reactor(); 00060 } 00061 00062 ACE_INLINE ACE_Proactor* 00063 MulticastDataLink::get_proactor() 00064 { 00065 if (this->reactor_task_ == 0) return 0; 00066 return this->reactor_task_->get_proactor(); 00067 } 00068 00069 ACE_INLINE ACE_SOCK_Dgram_Mcast& 00070 MulticastDataLink::socket() 00071 { 00072 return this->socket_; 00073 } 00074 00075 } // namespace DCPS 00076 } // namespace OpenDDS 00077 00078 OPENDDS_END_VERSIONED_NAMESPACE_DECL