summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/ECG_CDR_Message_Sender.i
blob: 59eeae300340f94eeb9e1a7a0b73f9186f6fe622 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// $Id$

#include "ace/Null_Mutex.h"

ACE_INLINE
TAO_ECG_CDR_Message_Sender::TAO_ECG_CDR_Message_Sender (CORBA::Boolean crc)
  :  endpoint_rptr_ ()
     , mtu_ (TAO_ECG_CDR_Message_Sender::ECG_DEFAULT_MTU)
     , checksum_ (crc)
{
}

ACE_INLINE void
TAO_ECG_CDR_Message_Sender::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
{
  // Release the endpoint.
  TAO_ECG_Refcounted_Endpoint empty_endpoint_rptr;
  this->endpoint_rptr_ = empty_endpoint_rptr;
}

ACE_INLINE ACE_SOCK_Dgram&
TAO_ECG_CDR_Message_Sender::dgram (void)
{
  ACE_ASSERT (this->endpoint_rptr_.get ());
  return this->endpoint_rptr_->dgram ();
}

ACE_INLINE int
TAO_ECG_CDR_Message_Sender::get_local_addr (ACE_INET_Addr& addr)
{
  if (this->endpoint_rptr_.get () == 0)
    return -1;
  return this->dgram ().get_local_addr (addr);
}

ACE_INLINE CORBA::ULong
TAO_ECG_CDR_Message_Sender::mtu (void) const
{
  return this->mtu_;
}

ACE_INLINE int
TAO_ECG_CDR_Message_Sender::mtu (CORBA::ULong new_mtu)
{
  if (new_mtu < TAO_ECG_CDR_Message_Sender::ECG_MIN_MTU
      || new_mtu >= TAO_ECG_CDR_Message_Sender::ECG_MAX_MTU)
    return -1;
  this->mtu_ = new_mtu;
  return 0;
}