Changeset 9300 in orxonox.OLD for branches/proxy/src/lib/network/monitor
- Timestamp:
- Jul 17, 2006, 10:15:33 AM (19 years ago)
- Location:
- branches/proxy/src/lib/network/monitor
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/proxy/src/lib/network/monitor/network_monitor.cc
r9292 r9300 19 19 #include "debug.h" 20 20 21 #include "proxy/proxy_settings.h" 22 21 23 #include "network_monitor.h" 22 24 #include "network_node.h" 25 #include "peer_info.h" 23 26 #include "network_stream.h" 27 #include "netdefs.h" 28 29 #include <vector> 24 30 25 31 … … 45 51 46 52 this->setSynchronized(false); 53 54 // assuming that the config files are already read we get the proxy servers 55 std::vector<IPaddress*>* proxyList = &ProxySettings::getInstance()->getProxyList(); 56 std::vector<IPaddress*>::iterator it = proxyList->begin(); 57 // create a peer info class and a network node class for each new proxy and add them to the passive list 58 for(; it < proxyList->end(); it++) 59 { 60 PeerInfo* peer = new PeerInfo(); 61 peer->ip = *(*it); 62 peer->nodeType = NET_PROXY_SERVER; 63 peer->userId = -1; 64 65 NetworkNode* node = new NetworkNode(peer); 66 this->addPassiveProxyServer( this->localNode, peer); 67 } 47 68 } 48 69 … … 86 107 } 87 108 109 /** 110 * tihs adds the new network node 111 * @param ip ip of the new node 112 */ 113 void NetworkMonitor::addNode(IPaddress ip) 114 {} 115 88 116 89 117 /** … … 128 156 else if( pInfo->isMasterServer()) 129 157 node->addMasterServer(pInfo); 158 } 159 160 161 /** 162 * @returns the proxy server of the first choice 163 */ 164 PeerInfo* NetworkMonitor::getFirstChoiceProxy() 165 { 166 // return the fist proxy in the list 167 return this->localNode->getActiveProxyServer(0); 168 } 169 170 171 /** 172 * @returns the proxy server of second choice 173 */ 174 PeerInfo* NetworkMonitor::getSecondChoiceProxy() 175 { 176 // return the second server in the list 177 return this->localNode->getActiveProxyServer(1); 130 178 } 131 179 … … 185 233 } 186 234 235 // check if a proxy server has to activated 236 187 237 this->debug(); 188 238 } -
branches/proxy/src/lib/network/monitor/network_monitor.h
r9296 r9300 34 34 void removeNetworkNode(NetworkNode* node); 35 35 36 void addNode(IPaddress ip); 36 37 void addNode(PeerInfo* pInfo); 37 38 void addNode(NetworkNode* node) { this->nodeList.push_back(node); } … … 42 43 /** adds to @param node a network node @param pInfo a new proxy server */ 43 44 inline void addActiveProxyServer(NetworkNode* node, PeerInfo* pInfo) { node->addActiveProxyServer(pInfo); } 45 /** adds to @param node a network node @param pInfo a new proxy server */ 46 inline void addPassiveProxyServer(NetworkNode* node, PeerInfo* pInfo) { node->addPassiveProxyServer(pInfo); } 44 47 /** adds to @param node a network node @param pInfo a new master server*/ 45 48 inline void addMasterServer(NetworkNode* node, PeerInfo* pInfo) { node->addMasterServer(pInfo); } … … 47 50 inline void removeClient(NetworkNode* node, PeerInfo* pInfo) { node->removeClient(pInfo); } 48 51 inline void removeActiveProxyServer(NetworkNode* node, PeerInfo* pInfo) { node->removeActiveProxyServer(pInfo); } 52 inline void removePassiveProxyServer(NetworkNode* node, PeerInfo* pInfo) { node->removePassiveProxyServer(pInfo); } 49 53 inline void removeMasterServer(NetworkNode* node, PeerInfo* pInfo) { node->removeMasterServer(pInfo); } 50 54 … … 57 61 /** @param node node to be checked for slots @returns true if there are still free network slots available at this node */ 58 62 inline bool gotFreeSlots(NetworkNode* node) { return (node->getPlayerNumber() < NET_MAX_CONNECTIONS)?true:false; } 59 void getServerWithFreeSlots() { } 63 PeerInfo* getFirstChoiceProxy(); 64 PeerInfo* getSecondChoiceProxy(); 65 /** @returns true if the next client should be reconnected to some other proxy server with more connections */ 66 inline bool reconnectNextClient() { return (this->localNode->getPlayerNumber() >= NET_MAX_CONNECTIONS)?true:false; } 60 67 61 68 -
branches/proxy/src/lib/network/monitor/network_node.cc
r9292 r9300 147 147 148 148 149 /** 150 * @param index index to the client 151 * @return the client in the list or NULL if none 152 */ 153 PeerInfo* NetworkNode::getClient(int index) 154 { 155 if( this->clientList.size() < index) 156 return NULL; 157 158 std::list<PeerInfo*>::iterator it = this->clientList.begin(); 159 for(int i = 0; it != this->clientList.end(); it++, i++) 160 { 161 if( i == index) 162 return (*it); 163 } 164 165 return NULL; 166 } 167 168 169 /** 170 * @param index index to the client 171 * @return the active proxy server in the list or NULL if none 172 */ 173 PeerInfo* NetworkNode::getActiveProxyServer(int index) 174 { 175 if( this->activeProxyServerList.size() < index) 176 return NULL; 177 178 std::list<PeerInfo*>::iterator it = this->activeProxyServerList.begin(); 179 for(int i = 0; it != this->activeProxyServerList.end(); it++, i++) 180 { 181 if( i == index) 182 return (*it); 183 } 184 185 return NULL; 186 } 187 188 189 /** 190 * @param index index to the client 191 * @return the passive proxy server in the list or NULL if none 192 */ 193 PeerInfo* NetworkNode::getPassiveProxyServer(int index) 194 { 195 if( this->passiveProxyServerList.size() < index) 196 return NULL; 197 198 std::list<PeerInfo*>::iterator it = this->passiveProxyServerList.begin(); 199 for(int i = 0; it != this->passiveProxyServerList.end(); it++, i++) 200 { 201 if( i == index) 202 return (*it); 203 } 204 205 return NULL; 206 } 207 208 209 /** 210 * @param index index to the client 211 * @return the master server in the list or NULL if none 212 */ 213 PeerInfo* NetworkNode::getMasterServer(int index) 214 { 215 if( this->masterServerList.size() < index) 216 return NULL; 217 218 std::list<PeerInfo*>::iterator it = this->masterServerList.begin(); 219 for(int i = 0; it != this->masterServerList.end(); it++, i++) 220 { 221 if( i == index) 222 return (*it); 223 } 224 225 return NULL; 226 } 227 149 228 150 229 /** -
branches/proxy/src/lib/network/monitor/network_node.h
r9292 r9300 32 32 void removeMasterServer(PeerInfo* node); 33 33 34 PeerInfo* getClient(int index); 35 PeerInfo* getActiveProxyServer(int index); 36 PeerInfo* getPassiveProxyServer(int index); 37 PeerInfo* getMasterServer(int index); 38 34 39 /** @returns the number of players */ 35 40 inline int getPlayerNumber() { return this->playerNumber; }
Note: See TracChangeset
for help on using the changeset viewer.