ACE_RMCast::Acknowledge::Queue Struct Reference

Inheritance diagram for ACE_RMCast::Acknowledge::Queue:

Inheritance graph
[legend]
Collaboration diagram for ACE_RMCast::Acknowledge::Queue:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Hash_Map_Manager<
u64, Descr, ACE_Null_Mutex
Base

Public Member Functions

 Queue ()
 Queue (u64 sn)
 Queue (Queue const &q)
int bind (u64 sn, Descr const &d)
int rebind (u64 sn, Descr const &d)
int unbind (u64 sn)
u64 sn () const
void sn (u64 sn)
u64 max_sn () const

Private Attributes

u64 sn_
u64 max_sn_

Detailed Description

Definition at line 123 of file Acknowledge.h.


Member Typedef Documentation

typedef ACE_Hash_Map_Manager<u64, Descr, ACE_Null_Mutex> ACE_RMCast::Acknowledge::Queue::Base

Definition at line 125 of file Acknowledge.h.


Constructor & Destructor Documentation

ACE_RMCast::Acknowledge::Queue::Queue (  )  [inline]

Definition at line 129 of file Acknowledge.h.

00130           : Base (ACE_RMCAST_DEFAULT_MAP_SIZE), sn_ (0), max_sn_ (0)
00131       {
00132       }

ACE_RMCast::Acknowledge::Queue::Queue ( u64  sn  )  [inline]

Definition at line 134 of file Acknowledge.h.

00135         : Base (ACE_RMCAST_DEFAULT_MAP_SIZE), sn_ (sn), max_sn_ (sn)
00136       {
00137       }

ACE_RMCast::Acknowledge::Queue::Queue ( Queue const &  q  )  [inline]

Definition at line 139 of file Acknowledge.h.

References bind().

00140         : Base (ACE_RMCAST_DEFAULT_MAP_SIZE), sn_ (q.sn_), max_sn_ (sn_)
00141       {
00142         for (Queue::const_iterator i (q), e (q, 1); i != e; ++i)
00143         {
00144           bind ((*i).ext_id_, (*i).int_id_);
00145         }
00146       }


Member Function Documentation

int ACE_RMCast::Acknowledge::Queue::bind ( u64  sn,
Descr const &  d 
) [inline]

Definition at line 150 of file Acknowledge.h.

References ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, ACE_Hash< EXT_ID >, ACE_Equal_To< EXT_ID >, ACE_LOCK >::bind(), and max_sn_.

Referenced by Queue(), ACE_RMCast::Acknowledge::recv(), and ACE_RMCast::Acknowledge::track_queue().

00151       {
00152         int r (Base::bind (sn, d));
00153 
00154         if (r == 0 && sn > max_sn_) max_sn_ = sn;
00155 
00156         return r;
00157       }

u64 ACE_RMCast::Acknowledge::Queue::max_sn (  )  const [inline]

Definition at line 199 of file Acknowledge.h.

References ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, ACE_Hash< EXT_ID >, ACE_Equal_To< EXT_ID >, ACE_LOCK >::current_size(), max_sn_, and sn_.

Referenced by ACE_RMCast::Acknowledge::recv(), and ACE_RMCast::Acknowledge::track_queue().

00200       {
00201         if (current_size () == 0) return sn_;
00202 
00203         return max_sn_;
00204       }

int ACE_RMCast::Acknowledge::Queue::rebind ( u64  sn,
Descr const &  d 
) [inline]

Definition at line 160 of file Acknowledge.h.

References max_sn_, and ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, ACE_Hash< EXT_ID >, ACE_Equal_To< EXT_ID >, ACE_LOCK >::rebind().

Referenced by ACE_RMCast::Acknowledge::recv().

00161       {
00162         int r (Base::rebind (sn, d));
00163 
00164         if (r == 0 && sn > max_sn_) max_sn_ = sn;
00165 
00166         return r;
00167       }

void ACE_RMCast::Acknowledge::Queue::sn ( u64  sn  )  [inline]

Definition at line 193 of file Acknowledge.h.

References sn_.

00194       {
00195         sn_ = sn;
00196       }

u64 ACE_RMCast::Acknowledge::Queue::sn (  )  const [inline]

Definition at line 187 of file Acknowledge.h.

References sn_.

Referenced by ACE_RMCast::Acknowledge::collapse(), ACE_RMCast::Acknowledge::create_nrtm(), ACE_RMCast::Acknowledge::recv(), and ACE_RMCast::Acknowledge::track_queue().

00188       {
00189         return sn_;
00190       }

int ACE_RMCast::Acknowledge::Queue::unbind ( u64  sn  )  [inline]

Definition at line 170 of file Acknowledge.h.

References ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, ACE_Hash< EXT_ID >, ACE_Equal_To< EXT_ID >, ACE_LOCK >::find(), max_sn_, sn_, and ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, ACE_Hash< EXT_ID >, ACE_Equal_To< EXT_ID >, ACE_LOCK >::unbind().

Referenced by ACE_RMCast::Acknowledge::collapse().

00171       {
00172         int r (Base::unbind (sn));
00173 
00174         if (r == 0 && sn == max_sn_)
00175         {
00176           for (--max_sn_; max_sn_ >= sn_; --max_sn_)
00177           {
00178             if (find (max_sn_) == 0) break;
00179           }
00180         }
00181 
00182         return r;
00183       }


Member Data Documentation

u64 ACE_RMCast::Acknowledge::Queue::max_sn_ [private]

Definition at line 207 of file Acknowledge.h.

Referenced by bind(), max_sn(), rebind(), and unbind().

u64 ACE_RMCast::Acknowledge::Queue::sn_ [private]

Definition at line 207 of file Acknowledge.h.

Referenced by max_sn(), sn(), and unbind().


The documentation for this struct was generated from the following file:
Generated on Tue Feb 2 17:36:29 2010 for ACE_RMCast by  doxygen 1.4.7