Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / Transport.inl
blobfa95a606d0a154543ae8b25e7be6b9c5a01420d1
1 // -*- C++ -*-
2 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
4 ACE_INLINE bool
5 TAO_Transport::queue_is_empty_i () const
7   return (this->head_ == 0);
10 ACE_INLINE CORBA::ULong
11 TAO_Transport::tag () const
13   return this->tag_;
16 ACE_INLINE TAO_ORB_Core *
17 TAO_Transport::orb_core () const
19   return this->orb_core_;
22 ACE_INLINE TAO_Transport_Mux_Strategy *
23 TAO_Transport::tms () const
25   return tms_;
28 // Return the Wait strategy used by the Transport.
29 ACE_INLINE TAO_Wait_Strategy *
30 TAO_Transport::wait_strategy () const
32   return this->ws_;
35 ACE_INLINE int
36 TAO_Transport::bidirectional_flag () const
38   return this->bidirectional_flag_;
41 ACE_INLINE void
42 TAO_Transport::bidirectional_flag (int flag)
44   this->bidirectional_flag_ = flag;
47 ACE_INLINE TAO::Connection_Role
48 TAO_Transport::opened_as () const
50   return this->opening_connection_role_;
53 ACE_INLINE void
54 TAO_Transport::opened_as (TAO::Connection_Role role)
56   this->opening_connection_role_ = role;
59 ACE_INLINE TAO::Transport_Cache_Manager::HASH_MAP_ENTRY *
60 TAO_Transport::cache_map_entry ()
62   return this->cache_map_entry_;
65 ACE_INLINE void
66 TAO_Transport::cache_map_entry (
67     TAO::Transport_Cache_Manager::HASH_MAP_ENTRY *entry)
69   // Sync with TAO_Transport::purge_entry()
70   ACE_GUARD (ACE_Lock, ace_mon, *this->handler_lock_);
71   this->cache_map_entry_ = entry;
74 ACE_INLINE unsigned long
75 TAO_Transport::purging_order () const
77   return this->purging_order_;
80 ACE_INLINE void
81 TAO_Transport::purging_order (unsigned long value)
83   // This should only be called by the Transport Cache Manager when
84   // it is holding it's lock.
85   // The transport should still be here since the cache manager still
86   // has a reference to it.
87   this->purging_order_ = value;
90 ACE_INLINE size_t
91 TAO_Transport::id () const
93   return this->id_;
96 ACE_INLINE void
97 TAO_Transport::id (size_t id)
99   this->id_ = id;
102 ACE_INLINE bool
103 TAO_Transport::queue_is_empty ()
105   ACE_GUARD_RETURN (ACE_Lock,
106                     ace_mon,
107                     *this->handler_lock_,
108                     false);
109   return this->queue_is_empty_i ();
112 ACE_INLINE int
113 TAO_Transport::flush_timer_pending () const
115   return this->flush_timer_id_ != -1;
118 ACE_INLINE void
119 TAO_Transport::reset_flush_timer ()
121   this->flush_timer_id_ = -1;
122   this->current_deadline_ = ACE_Time_Value::zero;
125 ACE_INLINE TAO_GIOP_Message_Base *
126 TAO_Transport::messaging_object ()
128   return this->messaging_object_;
131 //********************************************************************
132 // codeset related methods
135 ACE_INLINE TAO_Codeset_Translator_Base *
136 TAO_Transport::char_translator () const
138   return this->char_translator_;
141 ACE_INLINE TAO_Codeset_Translator_Base *
142 TAO_Transport::wchar_translator () const
144   return this->wchar_translator_;
147 ACE_INLINE void
148 TAO_Transport::char_translator (TAO_Codeset_Translator_Base *tf)
150   this->char_translator_ = tf;
151   this->tcs_set_ = 1;
154 ACE_INLINE void
155 TAO_Transport::wchar_translator (TAO_Codeset_Translator_Base *tf)
157   this->wchar_translator_ = tf;
158   this->tcs_set_ = 1;
161 /// CodeSet negotiation
162 ACE_INLINE CORBA::Boolean
163 TAO_Transport::is_tcs_set() const
165   return tcs_set_;
168 ACE_INLINE void
169 TAO_Transport::first_request_sent (bool flag)
171   this->first_request_ = flag;
174 ACE_INLINE bool
175 TAO_Transport::first_request () const
177   return this->first_request_;
180 ACE_INLINE bool
181 TAO_Transport::is_connected () const
183   ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->handler_lock_, false);
184   return this->is_connected_;
187 ACE_INLINE TAO_Connection_Handler *
188 TAO_Transport::connection_handler ()
190   return this->connection_handler_i();
193 ACE_INLINE size_t
194 TAO_Transport::recv_buffer_size () const
196   return this->recv_buffer_size_;
199 ACE_INLINE size_t
200 TAO_Transport::sent_byte_count () const
202   return this->sent_byte_count_;
205 #if TAO_HAS_TRANSPORT_CURRENT == 1
207 ACE_INLINE TAO::Transport::Stats*
208 TAO_Transport::stats () const
210   return this->stats_;
213 ACE_INLINE
214 TAO::Transport::Stats::Stats ()
215   : messages_rcvd_ (0)
216   , messages_sent_ (0)
217   , bytes_rcvd_()
218   , bytes_sent_ ()
219   , opened_since_ ()
223 ACE_INLINE void
224 TAO::Transport::Stats::messages_sent (size_t message_length)
226   ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->stat_mutex_);
228   ++this->messages_sent_;
229   this->bytes_sent_.sample (message_length);
232 ACE_INLINE CORBA::LongLong
233 TAO::Transport::Stats::messages_sent () const
235   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->stat_mutex_, 0);
237   return this->messages_sent_;
240 ACE_INLINE CORBA::LongLong
241 TAO::Transport::Stats::bytes_sent () const
243   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->stat_mutex_, 0);
245   return this->bytes_sent_.sum_;
248 ACE_INLINE void
249 TAO::Transport::Stats::messages_received (size_t message_length)
251   ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->stat_mutex_);
253   ++this->messages_rcvd_;
254   this->bytes_rcvd_.sample (message_length);
257 ACE_INLINE CORBA::LongLong
258 TAO::Transport::Stats::messages_received () const
260   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->stat_mutex_, 0);
262   return this->messages_rcvd_;
265 ACE_INLINE CORBA::LongLong
266 TAO::Transport::Stats::bytes_received () const
268   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->stat_mutex_, 0);
270   return this->bytes_rcvd_.sum_;
273 ACE_INLINE void
274 TAO::Transport::Stats::opened_since (const ACE_Time_Value& tv)
276   ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->stat_mutex_);
278   this->opened_since_ = tv;
281 ACE_INLINE const ACE_Time_Value&
282 TAO::Transport::Stats::opened_since () const
284   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->stat_mutex_, ACE_Time_Value::zero);
286   return this->opened_since_;
289 #endif /* TAO_HAS_TRANSPORT_CURRENT == 1 */
291 ACE_INLINE int
292 TAO_Transport::notify_reactor ()
294   if (!this->ws_->is_registered ())
295     {
296       return 0;
297     }
299   return this->notify_reactor_now ();
302 TAO_END_VERSIONED_NAMESPACE_DECL