HashTable Class Reference

#include <HashTable.hh>

Inheritance diagram for HashTable:

Inheritance graph
[legend]

Public Member Functions

virtual ~HashTable ()
virtual void * Add (char const *key, void *value)=0
virtual Boolean Remove (char const *key)=0
virtual void * Lookup (char const *key) const =0
virtual unsigned numEntries () const=0
Boolean IsEmpty () const
void * RemoveNext ()
void * getFirst ()

Static Public Member Functions

static HashTablecreate (int keyType)

Protected Member Functions

 HashTable ()

Data Structures

class  Iterator

Detailed Description

Definition at line 27 of file HashTable.hh.


Constructor & Destructor Documentation

HashTable::~HashTable (  )  [virtual]

Definition at line 25 of file HashTable.cpp.

00025                       {
00026 }

HashTable::HashTable (  )  [protected]

Definition at line 22 of file HashTable.cpp.

00022                      {
00023 }


Member Function Documentation

HashTable * HashTable::create ( int  keyType  )  [static]

Definition at line 118 of file BasicHashTable.cpp.

Referenced by getSocketTable(), RTSPServer::RTSPClientConnection::handleHTTPCmd_TunnelingGET(), RTSPServer::RTSPClientConnection::handleHTTPCmd_TunnelingPOST(), MediaSubsession::initiate(), MatroskaFile::MatroskaFile(), MPEG2TransportFileServerMediaSubsession::MPEG2TransportFileServerMediaSubsession(), MPEG2TransportStreamFramer::MPEG2TransportStreamFramer(), OnDemandServerMediaSubsession::OnDemandServerMediaSubsession(), PassiveServerMediaSubsession::PassiveServerMediaSubsession(), and socketHashTable().

00118                                         {
00119   return new BasicHashTable(keyType);
00120 }

virtual void* HashTable::Add ( char const *  key,
void *  value 
) [pure virtual]

Implemented in BasicHashTable.

Referenced by RTPReceptionStatsDB::add(), RTPTransmissionStatsDB::add(), MatroskaFile::TrackTable::add(), DirectedNetInterfaceSet::Add(), AddressPortLookupTable::Add(), MediaLookupTable::addNew(), RTSPServer::addServerMediaSession(), UserAuthenticationDatabase::addUserRecord(), MPEG2TransportFileServerMediaSubsession::createNewStreamSource(), SocketLookupTable::Fetch(), PassiveServerMediaSubsession::getStreamParameters(), OnDemandServerMediaSubsession::getStreamParameters(), RTSPServer::RTSPClientConnection::handleHTTPCmd_TunnelingGET(), RTSPServer::RTSPClientConnection::handleRequestBytes(), MediaSubsession::initiate(), lookupSocketDescriptor(), MatroskaFile::newDemux(), MatroskaDemux::newDemuxedTrack(), RTCPMemberDatabase::noteMembership(), SocketDescriptor::registerRTPInterface(), RTSPServer::RTSPClientConnection::RTSPClientConnection(), setGroupsockBySocket(), and MPEG2TransportStreamFramer::updateTSPacketDurationEstimate().

virtual Boolean HashTable::Remove ( char const *  key  )  [pure virtual]

Implemented in BasicHashTable.

Referenced by MatroskaFile::TrackTable::add(), PassiveServerMediaSubsession::deleteStream(), OnDemandServerMediaSubsession::deleteStream(), SocketDescriptor::deregisterRTPInterface(), RTCPMemberDatabase::remove(), MediaLookupTable::remove(), SocketLookupTable::Remove(), DirectedNetInterfaceSet::Remove(), AddressPortLookupTable::Remove(), MatroskaFile::removeDemux(), RemoveNext(), RTPReceptionStatsDB::removeRecord(), RTPTransmissionStatsDB::removeRecord(), RTSPServer::removeServerMediaSession(), removeSocketDescription(), MatroskaDemux::removeTrack(), UserAuthenticationDatabase::removeUserRecord(), unsetGroupsockBySocket(), RTSPServer::RTSPClientConnection::~RTSPClientConnection(), and RTSPServer::RTSPClientSession::~RTSPClientSession().

virtual void* HashTable::Lookup ( char const *  key  )  const [pure virtual]

Implemented in BasicHashTable.

Referenced by RTSPServer::closeAllClientSessionsForServerMediaSession(), RTSPServer::deleteServerMediaSession(), PassiveServerMediaSubsession::deleteStream(), OnDemandServerMediaSubsession::deleteStream(), SocketLookupTable::Fetch(), getGroupsockBySocket(), RTSPServer::RTSPClientConnection::handleRequestBytes(), RTCPMemberDatabase::isMember(), RTPReceptionStatsDB::lookup(), RTPTransmissionStatsDB::lookup(), MediaLookupTable::lookup(), MatroskaFile::TrackTable::lookup(), AddressPortLookupTable::Lookup(), MPEG2TransportFileServerMediaSubsession::lookupClient(), MatroskaDemux::lookupDemuxedTrack(), UserAuthenticationDatabase::lookupPassword(), SocketDescriptor::lookupRTPInterface(), RTSPServer::lookupServerMediaSession(), lookupSocketDescriptor(), RTSPServer::removeServerMediaSession(), UserAuthenticationDatabase::removeUserRecord(), setGroupsockBySocket(), PassiveServerMediaSubsession::startStream(), OnDemandServerMediaSubsession::startStream(), unsetGroupsockBySocket(), and MPEG2TransportStreamFramer::updateTSPacketDurationEstimate().

virtual unsigned HashTable::numEntries (  )  const [pure virtual]

Implemented in BasicHashTable.

Referenced by MatroskaDemux::handleEndOfFile(), IsEmpty(), MatroskaFile::TrackTable::numTracks(), and MatroskaDemux::removeTrack().

Boolean HashTable::IsEmpty (  )  const [inline]

Definition at line 41 of file HashTable.hh.

References numEntries().

Referenced by SocketDescriptor::deregisterRTPInterface(), DirectedNetInterfaceSet::IsEmpty(), lookupSocketDescriptor(), SocketDescriptor::registerRTPInterface(), MediaLookupTable::remove(), removeSocketDescription(), and unsetGroupsockBySocket().

00041 { return numEntries() == 0; }

void * HashTable::RemoveNext (  ) 

Definition at line 33 of file HashTable.cpp.

References HashTable::Iterator::create(), iter, MediaSubsessionIterator::next(), and Remove().

Referenced by MPEG2TransportStreamFramer::clearPIDStatusTable(), MediaSubsession::initiate(), MatroskaFile::~MatroskaFile(), MPEG2TransportFileServerMediaSubsession::~MPEG2TransportFileServerMediaSubsession(), OnDemandServerMediaSubsession::~OnDemandServerMediaSubsession(), PassiveServerMediaSubsession::~PassiveServerMediaSubsession(), RTPReceptionStatsDB::~RTPReceptionStatsDB(), RTPTransmissionStatsDB::~RTPTransmissionStatsDB(), SocketDescriptor::~SocketDescriptor(), MatroskaFile::TrackTable::~TrackTable(), and UserAuthenticationDatabase::~UserAuthenticationDatabase().

00033                             {
00034   Iterator* iter = Iterator::create(*this);
00035   char const* key;
00036   void* removedValue = iter->next(key);
00037   if (removedValue != 0) Remove(key);
00038 
00039   delete iter;
00040   return removedValue;
00041 }

void * HashTable::getFirst (  ) 

Definition at line 43 of file HashTable.cpp.

References HashTable::Iterator::create(), iter, and MediaSubsessionIterator::next().

Referenced by RTSPServer::~RTSPServer().

00043                           {
00044   Iterator* iter = Iterator::create(*this);
00045   char const* key;
00046   void* firstValue = iter->next(key);
00047 
00048   delete iter;
00049   return firstValue;
00050 }


The documentation for this class was generated from the following files:
Generated on Mon Apr 29 13:31:39 2013 for live by  doxygen 1.5.2