00001
00002
00003
00004
00005 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00006
00007 ACE_INLINE
00008 ACE_Message_Queue_Base::ACE_Message_Queue_Base (void)
00009 {
00010 }
00011
00012 #if defined (ACE_VXWORKS)
00013
00014
00015 ACE_INLINE MSG_Q_ID
00016 ACE_Message_Queue_Vx::msgq (void)
00017 {
00018
00019 return reinterpret_cast<MSG_Q_ID> (tail_);
00020 }
00021
00022 #endif
00023
00024 #if defined (ACE_WIN32) && (ACE_HAS_WINNT4 != 0)
00025 ACE_INLINE int
00026 ACE_Message_Queue_NT::enqueue_tail (ACE_Message_Block *new_item,
00027 ACE_Time_Value *timeout)
00028 {
00029 ACE_TRACE ("ACE_Message_Queue_NT::enqueue_tail");
00030 return this->enqueue (new_item, timeout);
00031 }
00032
00033 ACE_INLINE int
00034 ACE_Message_Queue_NT::dequeue_head (ACE_Message_Block *&first_item,
00035 ACE_Time_Value *timeout)
00036 {
00037 ACE_TRACE ("ACE_Message_Queue_NT::dequeue_head");
00038 return this->dequeue (first_item, timeout);
00039 }
00040
00041 ACE_INLINE int
00042 ACE_Message_Queue_NT::is_full (void)
00043 {
00044 ACE_TRACE ("ACE_Message_Queue_NT::is_full");
00045 return 0;
00046 }
00047
00048 ACE_INLINE int
00049 ACE_Message_Queue_NT::is_empty (void)
00050 {
00051 ACE_TRACE ("ACE_Message_Queue_NT::is_empty");
00052 ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, 0);
00053
00054 return this->cur_bytes_ > 0 || this->cur_count_ > 0 ? 0 : 1;
00055 }
00056
00057 ACE_INLINE size_t
00058 ACE_Message_Queue_NT::message_bytes (void)
00059 {
00060 ACE_TRACE ("ACE_Message_Queue_NT::message_bytes");
00061
00062 return this->cur_bytes_;
00063 }
00064
00065 ACE_INLINE size_t
00066 ACE_Message_Queue_NT::message_length (void)
00067 {
00068 ACE_TRACE ("ACE_Message_Queue_NT::message_length");
00069
00070 return this->cur_length_;
00071 }
00072
00073 ACE_INLINE size_t
00074 ACE_Message_Queue_NT::message_count (void)
00075 {
00076 ACE_TRACE ("ACE_Message_Queue_NT::message_count");
00077
00078 return this->cur_count_;
00079 }
00080
00081 ACE_INLINE void
00082 ACE_Message_Queue_NT::message_bytes (size_t new_value)
00083 {
00084 ACE_TRACE ("ACE_Message_Queue_NT::message_bytes");
00085 ACE_GUARD (ACE_Thread_Mutex, ace_mon, this->lock_);
00086
00087 this->cur_bytes_ = new_value;
00088 }
00089
00090 ACE_INLINE void
00091 ACE_Message_Queue_NT::message_length (size_t new_value)
00092 {
00093 ACE_TRACE ("ACE_Message_Queue_NT::message_length");
00094 ACE_GUARD (ACE_Thread_Mutex, ace_mon, this->lock_);
00095
00096 this->cur_length_ = new_value;
00097 }
00098
00099 ACE_INLINE DWORD
00100 ACE_Message_Queue_NT::max_threads (void)
00101 {
00102 ACE_TRACE ("ACE_Message_Queue_NT::max_threads");
00103 return this->max_cthrs_;
00104 }
00105
00106 ACE_INLINE int
00107 ACE_Message_Queue_NT::deactivated (void)
00108 {
00109 ACE_TRACE ("ACE_Message_Queue_NT::deactivated");
00110
00111 return this->state_ == ACE_Message_Queue_Base::DEACTIVATED;
00112 }
00113
00114 ACE_INLINE ACE_HANDLE
00115 ACE_Message_Queue_NT::completion_port (void)
00116 {
00117 ACE_TRACE ("ACE_Message_Queue_NT::completion_port");
00118 return this->completion_port_;
00119 }
00120
00121 ACE_INLINE int
00122 ACE_Message_Queue_NT::peek_dequeue_head (ACE_Message_Block *&first_item,
00123 ACE_Time_Value *timeout)
00124 {
00125 ACE_UNUSED_ARG(first_item);
00126 ACE_UNUSED_ARG(timeout);
00127 ACE_NOTSUP_RETURN (-1);
00128 }
00129
00130 ACE_INLINE ACE_Notification_Strategy *
00131 ACE_Message_Queue_NT::notification_strategy (void)
00132 {
00133 ACE_NOTSUP_RETURN (0);
00134 }
00135
00136 ACE_INLINE void
00137 ACE_Message_Queue_NT::notification_strategy (ACE_Notification_Strategy *)
00138 {
00139 }
00140
00141 #endif
00142
00143 ACE_END_VERSIONED_NAMESPACE_DECL