00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #include "Tcp_pch.h" 00009 #include "TcpAcceptor.h" 00010 #include "TcpTransport.h" 00011 #include "TcpSendStrategy.h" 00012 #include "dds/DCPS/transport/framework/EntryExit.h" 00013 00014 // This can not be inlined since it needs to have the internals of the 00015 // TcpTransport available in order to call add_ref(), and that 00016 // gets a bit circular in the dependencies. Oh well. 00017 OpenDDS::DCPS::TcpAcceptor::TcpAcceptor 00018 (TcpTransport* transport_impl) 00019 : transport_(transport_impl, false) 00020 { 00021 DBG_ENTRY_LVL("TcpAcceptor","TcpAcceptor",6); 00022 } 00023 00024 OpenDDS::DCPS::TcpAcceptor::~TcpAcceptor() 00025 { 00026 DBG_ENTRY_LVL("TcpAcceptor","~TcpAcceptor",6); 00027 } 00028 00029 OpenDDS::DCPS::TcpInst* 00030 OpenDDS::DCPS::TcpAcceptor::get_configuration() 00031 { 00032 return this->transport_->get_configuration(); 00033 } 00034 00035 OpenDDS::DCPS::TcpTransport* 00036 OpenDDS::DCPS::TcpAcceptor::transport() 00037 { 00038 DBG_ENTRY_LVL("TcpAcceptor","transport",6); 00039 // Return a new reference to the caller (the caller is responsible for 00040 // the reference). 00041 TcpTransport_rch tmp = this->transport_; 00042 return tmp._retn(); 00043 } 00044 00045 void 00046 OpenDDS::DCPS::TcpAcceptor::transport_shutdown() 00047 { 00048 DBG_ENTRY_LVL("TcpAcceptor","transport_shutdown",6); 00049 00050 // Drop the reference to the TcpTransport object. 00051 this->transport_ = 0; 00052 }