#include <NetInterface.hh>
Collaboration diagram for SocketLookupTable:

Public Member Functions | |
| virtual | ~SocketLookupTable () |
| Socket * | Fetch (UsageEnvironment &env, Port port, Boolean &isNew) |
| Boolean | Remove (Socket const *sock) |
Protected Member Functions | |
| SocketLookupTable () | |
| virtual Socket * | CreateNew (UsageEnvironment &env, Port port)=0 |
Private Attributes | |
| HashTable * | fTable |
Definition at line 116 of file NetInterface.hh.
| SocketLookupTable::~SocketLookupTable | ( | ) | [virtual] |
Definition at line 120 of file NetInterface.cpp.
References fTable.
00120 { 00121 delete fTable; 00122 }
| SocketLookupTable::SocketLookupTable | ( | ) | [protected] |
Definition at line 116 of file NetInterface.cpp.
00117 : fTable(HashTable::create(ONE_WORD_HASH_KEYS)) { 00118 }
| Socket * SocketLookupTable::Fetch | ( | UsageEnvironment & | env, | |
| Port | port, | |||
| Boolean & | isNew | |||
| ) |
Definition at line 124 of file NetInterface.cpp.
References HashTable::Add(), CreateNew(), env, False, fTable, HashTable::Lookup(), NULL, Port::num(), Socket::socketNum(), and True.
00125 { 00126 isNew = False; 00127 Socket* sock; 00128 do { 00129 sock = (Socket*) fTable->Lookup((char*)(long)(port.num())); 00130 if (sock == NULL) { // we need to create one: 00131 sock = CreateNew(env, port); 00132 if (sock == NULL || sock->socketNum() < 0) break; 00133 00134 fTable->Add((char*)(long)(port.num()), (void*)sock); 00135 isNew = True; 00136 } 00137 00138 return sock; 00139 } while (0); 00140 00141 delete sock; 00142 return NULL; 00143 }
Definition at line 145 of file NetInterface.cpp.
References fTable, Port::num(), Socket::port(), and HashTable::Remove().
| virtual Socket* SocketLookupTable::CreateNew | ( | UsageEnvironment & | env, | |
| Port | port | |||
| ) | [protected, pure virtual] |
Referenced by Fetch().
HashTable* SocketLookupTable::fTable [private] |
Definition at line 129 of file NetInterface.hh.
Referenced by Fetch(), Remove(), and ~SocketLookupTable().
1.5.2