Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

CRouteCacheTable Class Reference

#include <RouteCache.h>

List of all members.

Public Member Functions

 CRouteCacheTable ()
virtual ~CRouteCacheTable ()
CRouteCacheItemFind (const GGUID *pGUID)
CRouteCacheItemAdd (const GGUID *pGUID, const CNeighbour *pNeighbour, const SOCKADDR_IN *pEndpoint, DWORD nTime=0)
void Remove (CNeighbour *pNeighbour)
void Resize (DWORD nSize)
DWORD GetNextSize (DWORD nDesired)
void Clear ()
BOOL IsFull () const

Protected Attributes

CRouteCacheItemm_pHash [1024]
CRouteCacheItemm_pFree
CRouteCacheItemm_pBuffer
DWORD m_nBuffer
DWORD m_nUsed
DWORD m_tFirst
DWORD m_tLast


Constructor & Destructor Documentation

CRouteCacheTable::CRouteCacheTable  ) 
 

Definition at line 170 of file RouteCache.cpp.

References Clear(), m_nBuffer, m_nUsed, m_pBuffer, and NULL.

CRouteCacheTable::~CRouteCacheTable  )  [virtual]
 

Definition at line 178 of file RouteCache.cpp.

References m_nBuffer, and m_pBuffer.


Member Function Documentation

CRouteCacheItem * CRouteCacheTable::Add const GGUID pGUID,
const CNeighbour pNeighbour,
const SOCKADDR_IN *  pEndpoint,
DWORD  nTime = 0
 

Definition at line 201 of file RouteCache.cpp.

References HASH_MASK, m_nBuffer, m_nUsed, CRouteCacheItem::m_pEndpoint, m_pFree, CRouteCacheItem::m_pGUID, m_pHash, CRouteCacheItem::m_pNeighbour, CRouteCacheItem::m_pNext, CRouteCacheItem::m_tAdded, m_tFirst, m_tLast, and NULL.

Referenced by CRouteCache::Add().

void CRouteCacheTable::Clear  ) 
 

Definition at line 305 of file RouteCache.cpp.

References Resize().

Referenced by CRouteCache::Clear(), and CRouteCacheTable().

CRouteCacheItem * CRouteCacheTable::Find const GGUID pGUID  ) 
 

Definition at line 186 of file RouteCache.cpp.

References HASH_MASK, CRouteCacheItem::m_pGUID, m_pHash, CRouteCacheItem::m_pNext, and NULL.

Referenced by CRouteCache::Lookup().

DWORD CRouteCacheTable::GetNextSize DWORD  nDesired  ) 
 

Definition at line 297 of file RouteCache.cpp.

References m_nBuffer, m_tFirst, and m_tLast.

Referenced by CRouteCache::Add().

BOOL CRouteCacheTable::IsFull  )  const [inline]
 

Definition at line 68 of file RouteCache.h.

References m_nBuffer, and m_nUsed.

Referenced by CRouteCache::Add().

void CRouteCacheTable::Remove CNeighbour pNeighbour  ) 
 

Definition at line 233 of file RouteCache.cpp.

References HASH_SIZE, m_nUsed, m_pFree, m_pHash, and CRouteCacheItem::m_pNext.

Referenced by CRouteCache::Remove().

void CRouteCacheTable::Resize DWORD  nSize  ) 
 

Definition at line 262 of file RouteCache.cpp.

References BUFFER_BLOCK_SIZE, HASH_SIZE, m_nBuffer, m_nUsed, m_pBuffer, m_pFree, m_pHash, CRouteCacheItem::m_pNext, m_tFirst, m_tLast, MAX_BUFFER_SIZE, MIN_BUFFER_SIZE, and NULL.

Referenced by CRouteCache::Add(), and Clear().


Member Data Documentation

DWORD CRouteCacheTable::m_nBuffer [protected]
 

Definition at line 54 of file RouteCache.h.

Referenced by Add(), CRouteCacheTable(), GetNextSize(), IsFull(), Resize(), and ~CRouteCacheTable().

DWORD CRouteCacheTable::m_nUsed [protected]
 

Definition at line 55 of file RouteCache.h.

Referenced by Add(), CRouteCacheTable(), IsFull(), Remove(), and Resize().

CRouteCacheItem* CRouteCacheTable::m_pBuffer [protected]
 

Definition at line 53 of file RouteCache.h.

Referenced by CRouteCacheTable(), Resize(), and ~CRouteCacheTable().

CRouteCacheItem* CRouteCacheTable::m_pFree [protected]
 

Definition at line 52 of file RouteCache.h.

Referenced by Add(), Remove(), and Resize().

CRouteCacheItem* CRouteCacheTable::m_pHash[1024] [protected]
 

Definition at line 51 of file RouteCache.h.

Referenced by Add(), Find(), Remove(), and Resize().

DWORD CRouteCacheTable::m_tFirst [protected]
 

Definition at line 56 of file RouteCache.h.

Referenced by Add(), GetNextSize(), and Resize().

DWORD CRouteCacheTable::m_tLast [protected]
 

Definition at line 57 of file RouteCache.h.

Referenced by Add(), GetNextSize(), and Resize().


The documentation for this class was generated from the following files:
Generated on Thu Dec 15 10:40:11 2005 for Shareaza 2.2.1.0 by  doxygen 1.4.2