Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VsnetTCPSocket::SqQueues Class Reference

#include <vsnet_sockettcp.h>

Public Member Functions

 SqQueues ()
 
bool empty () const
 
int getLength (int idx)
 
void push (int idx, PacketPtr m)
 
PacketPtr pop ()
 

Detailed Description

Definition at line 141 of file vsnet_sockettcp.h.

Constructor & Destructor Documentation

VsnetTCPSocket::SqQueues::SqQueues ( )

Definition at line 478 of file vsnet_sockettcp.cpp.

479 {
480  _ct = 0;
481  //_debug_array[0] = 0;
482  //_debug_array[1] = 0;
483  //_debug_array[2] = 0;
484  //_debug_array[3] = 0;
485 }

Member Function Documentation

bool VsnetTCPSocket::SqQueues::empty ( ) const
int VsnetTCPSocket::SqQueues::getLength ( int  idx)

Definition at line 500 of file vsnet_sockettcp.cpp.

Referenced by VsnetTCPSocket::queueLen().

501 {
502  std::map< int, SqQueue >::iterator it;
503  it = _q.find( idx );
504  if ( it == _q.end() ) return 0;
505  return it->second.size();
506 }
VsnetTCPSocket::PacketPtr VsnetTCPSocket::SqQueues::pop ( )

Definition at line 508 of file vsnet_sockettcp.cpp.

Referenced by VsnetTCPSocket::lower_clean_sendbuf(), and VsnetTCPSocket::lower_sendbuf().

509 {
510  /* We need the reverse iterators because in this code, higher numbers
511  * indicate higher priorities, and those are further "back" in the
512  * map.
513  */
514  assert( _ct > 0 );
515  std::map< int, SqQueue >::reverse_iterator it;
516  for (it = _q.rbegin(); it != _q.rend(); it++)
517  if (it->second.empty() == false) {
518  PacketPtr r = it->second.front();
519  it->second.pop();
520  _ct--;
521  return r;
522  }
523  assert( 0 );
524  return PacketPtr();
525 }
void VsnetTCPSocket::SqQueues::push ( int  idx,
PacketPtr  m 
)

Definition at line 492 of file vsnet_sockettcp.cpp.

Referenced by VsnetTCPSocket::sendbuf().

493 {
494  _q[idx].push( m );
495  _ct++;
496  //if( idx >= 0 && idx < 3 ) _debug_array[idx]++;
497  //else _debug_array[3]++;
498 }

The documentation for this class was generated from the following files: