Changeset 369 for code/branches/FICN/src/network/ConnectionManager.cc
- Timestamp:
- Dec 3, 2007, 12:28:19 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/FICN/src/network/ConnectionManager.cc
r352 r369 106 106 return false; 107 107 if(enet_host_service(server, event, NETWORK_SEND_WAIT)>=0) 108 return true; 109 else 110 return false; 111 } 112 113 bool ConnectionManager::sendPackets(){ 114 ENetEvent event; 115 if(server==NULL) 116 return false; 117 if(enet_host_service(server, &event, NETWORK_SEND_WAIT)>=0) 108 118 return true; 109 119 else … … 117 127 ENetEvent event; 118 128 server = enet_host_create(&bindAddress, NETWORK_MAX_CONNECTIONS, 0, 0); 119 if(server==NULL) 129 if(server==NULL){ 120 130 // add some error handling here ========================== 121 131 quit=true; 132 return; 133 } 122 134 123 135 while(!quit){ … … 143 155 } 144 156 } 157 disconnectClients(); 145 158 // if we're finishied, destroy server 146 159 enet_host_destroy(server); 160 } 161 162 void ConnectionManager::disconnectClients(){ 163 bool disconnected=false; 164 ENetEvent event; 165 ClientList *temp=client; 166 while(temp!=NULL){ 167 enet_peer_disconnect(temp->event->peer, 0); 168 while( !disconnected && enet_host_service(server, &event, NETWORK_WAIT_TIMEOUT) > 0){ 169 switch (event.type) 170 { 171 case ENET_EVENT_TYPE_NONE: 172 case ENET_EVENT_TYPE_CONNECT: 173 case ENET_EVENT_TYPE_RECEIVE: 174 enet_packet_destroy(event.packet); 175 break; 176 case ENET_EVENT_TYPE_DISCONNECT: 177 disconnected=true; 178 break; 179 } 180 } 181 temp = temp->next; 182 disconnected=false; 183 } 184 return; 147 185 } 148 186
Note: See TracChangeset
for help on using the changeset viewer.