00001 // -*- C++ -*- 00002 // 00003 // ECG_CDR_Message_Sender.i,v 1.4 2005/11/10 06:47:23 ossama Exp 00004 00005 #include "ace/Null_Mutex.h" 00006 00007 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00008 00009 ACE_INLINE 00010 TAO_ECG_CDR_Message_Sender::TAO_ECG_CDR_Message_Sender (CORBA::Boolean crc) 00011 : endpoint_rptr_ () 00012 , mtu_ (TAO_ECG_CDR_Message_Sender::ECG_DEFAULT_MTU) 00013 , checksum_ (crc) 00014 { 00015 } 00016 00017 ACE_INLINE void 00018 TAO_ECG_CDR_Message_Sender::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) 00019 { 00020 // Release the endpoint. 00021 TAO_ECG_Refcounted_Endpoint empty_endpoint_rptr; 00022 this->endpoint_rptr_ = empty_endpoint_rptr; 00023 } 00024 00025 ACE_INLINE ACE_SOCK_Dgram& 00026 TAO_ECG_CDR_Message_Sender::dgram (void) 00027 { 00028 ACE_ASSERT (this->endpoint_rptr_.get ()); 00029 return this->endpoint_rptr_->dgram (); 00030 } 00031 00032 ACE_INLINE int 00033 TAO_ECG_CDR_Message_Sender::get_local_addr (ACE_INET_Addr& addr) 00034 { 00035 if (this->endpoint_rptr_.get () == 0) 00036 return -1; 00037 return this->dgram ().get_local_addr (addr); 00038 } 00039 00040 ACE_INLINE CORBA::ULong 00041 TAO_ECG_CDR_Message_Sender::mtu (void) const 00042 { 00043 return this->mtu_; 00044 } 00045 00046 ACE_INLINE int 00047 TAO_ECG_CDR_Message_Sender::mtu (CORBA::ULong new_mtu) 00048 { 00049 if (new_mtu < TAO_ECG_CDR_Message_Sender::ECG_MIN_MTU 00050 || new_mtu >= TAO_ECG_CDR_Message_Sender::ECG_MAX_MTU) 00051 return -1; 00052 this->mtu_ = new_mtu; 00053 return 0; 00054 } 00055 00056 TAO_END_VERSIONED_NAMESPACE_DECL