3 // $Id: Message_Queue_NT.inl 80826 2008-03-04 14:51:23Z wotte $
5 #if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
6 # include "ace/Guard_T.h"
7 #endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
9 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
11 #if defined (ACE_HAS_WIN32_OVERLAPPED_IO)
14 ACE_Message_Queue_NT::enqueue_tail (ACE_Message_Block *new_item,
15 ACE_Time_Value *timeout)
17 ACE_TRACE ("ACE_Message_Queue_NT::enqueue_tail");
18 return this->enqueue (new_item, timeout);
22 ACE_Message_Queue_NT::dequeue_head (ACE_Message_Block *&first_item,
23 ACE_Time_Value *timeout)
25 ACE_TRACE ("ACE_Message_Queue_NT::dequeue_head");
26 return this->dequeue (first_item, timeout);
30 ACE_Message_Queue_NT::is_full (void)
32 ACE_TRACE ("ACE_Message_Queue_NT::is_full");
33 return false; // Always not full.
37 ACE_Message_Queue_NT::is_empty (void)
39 ACE_TRACE ("ACE_Message_Queue_NT::is_empty");
40 ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->lock_, false);
42 return this->cur_bytes_ > 0 || this->cur_count_ > 0 ? false : true;
46 ACE_Message_Queue_NT::message_bytes (void)
48 ACE_TRACE ("ACE_Message_Queue_NT::message_bytes");
49 // Accessing to size_t must be atomic.
50 return this->cur_bytes_;
54 ACE_Message_Queue_NT::message_length (void)
56 ACE_TRACE ("ACE_Message_Queue_NT::message_length");
57 // Accessing to size_t must be atomic.
58 return this->cur_length_;
62 ACE_Message_Queue_NT::message_count (void)
64 ACE_TRACE ("ACE_Message_Queue_NT::message_count");
65 // Accessing to size_t must be atomic.
66 return this->cur_count_;
70 ACE_Message_Queue_NT::message_bytes (size_t new_value)
72 ACE_TRACE ("ACE_Message_Queue_NT::message_bytes");
73 ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->lock_);
75 this->cur_bytes_ = new_value;
79 ACE_Message_Queue_NT::message_length (size_t new_value)
81 ACE_TRACE ("ACE_Message_Queue_NT::message_length");
82 ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->lock_);
84 this->cur_length_ = new_value;
88 ACE_Message_Queue_NT::max_threads (void)
90 ACE_TRACE ("ACE_Message_Queue_NT::max_threads");
91 return this->max_cthrs_;
95 ACE_Message_Queue_NT::deactivated (void)
97 ACE_TRACE ("ACE_Message_Queue_NT::deactivated");
98 // Accessing to int must be atomic.
99 return this->state_ == ACE_Message_Queue_Base::DEACTIVATED;
102 ACE_INLINE ACE_HANDLE
103 ACE_Message_Queue_NT::completion_port (void)
105 ACE_TRACE ("ACE_Message_Queue_NT::completion_port");
106 return this->completion_port_;
110 ACE_Message_Queue_NT::peek_dequeue_head (ACE_Message_Block *&first_item,
111 ACE_Time_Value *timeout)
113 ACE_UNUSED_ARG(first_item);
114 ACE_UNUSED_ARG(timeout);
115 ACE_NOTSUP_RETURN (-1);
118 ACE_INLINE ACE_Notification_Strategy *
119 ACE_Message_Queue_NT::notification_strategy (void)
121 ACE_NOTSUP_RETURN (0);
125 ACE_Message_Queue_NT::notification_strategy (ACE_Notification_Strategy *)
129 #endif /* ACE_HAS_WIN32_OVERLAPPED_IO */
131 ACE_END_VERSIONED_NAMESPACE_DECL