News SF.net Project Frequently Asked Questions Documentation Downloads Mailing Lists How to Contribute

SourceForge.net Logo

Changing the way games are made and played.

TNL::ConnectionStringTable class Reference

TNL::ConnectionStringTable Class Reference

#include <tnlConnectionStringTable.h>


Detailed Description

ConnectionStringTable is a helper class to EventConnection for reducing duplicated string data sends.


Public Types

enum  StringTableConstants {
  EntryCount = 1024,
  EntryBitSize = 10
}

Public Member Functions

 ConnectionStringTable (NetConnection *parent)
void writeStringTableEntry (BitStream *stream, StringTableEntryRef string)
StringTableEntry readStringTableEntry (BitStream *stream)
void packetReceived (PacketList *note)
void packetDropped (PacketList *note)

Private Member Functions

void pushBack (Entry *entry)
 Pushes an entry to the back of the LRU list.


Private Attributes

Entry mEntryTable [EntryCount]
Entry * mHashTable [EntryCount]
StringTableEntry mRemoteStringTable [EntryCount]
Entry mLRUHead
Entry mLRUTail
NetConnection * mParent


Member Enumeration Documentation

enum TNL::ConnectionStringTable::StringTableConstants
 

Enumeration values:
EntryCount 
EntryBitSize 


Constructor & Destructor Documentation

TNL::ConnectionStringTable::ConnectionStringTable (  NetConnection *  parent  ) 
 


Member Function Documentation

void TNL::ConnectionStringTable::pushBack (  Entry *  entry  )  [inline, private]
 

Pushes an entry to the back of the LRU list.

void TNL::ConnectionStringTable::writeStringTableEntry (  BitStream *  stream,
StringTableEntryRef  string
) 
 

StringTableEntry TNL::ConnectionStringTable::readStringTableEntry (  BitStream *  stream  ) 
 

void TNL::ConnectionStringTable::packetReceived (  PacketList *  note  ) 
 

void TNL::ConnectionStringTable::packetDropped (  PacketList *  note  ) 
 


Field Documentation

Entry TNL::ConnectionStringTable::mEntryTable[EntryCount] [private]
 

Entry* TNL::ConnectionStringTable::mHashTable[EntryCount] [private]
 

StringTableEntry TNL::ConnectionStringTable::mRemoteStringTable[EntryCount] [private]
 

Entry TNL::ConnectionStringTable::mLRUHead [private]
 

Entry TNL::ConnectionStringTable::mLRUTail [private]
 

NetConnection* TNL::ConnectionStringTable::mParent [private]