Changeset 196 for code/branches/network/src/network/ConnectionManager.h
- Timestamp:
- Nov 11, 2007, 5:11:36 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/network/src/network/ConnectionManager.h
r187 r196 5 5 // 6 6 // 7 // Author: <>, (C) 20077 // Author: Oliver Scheuss, (C) 2007 8 8 // 9 9 // Copyright: See COPYING file that comes with this distribution … … 13 13 #define NETWORK_CONNECTIONMANAGER_H 14 14 15 #include PacketBuffer.h 15 #include <iostream> 16 // enet library for networking support 17 #include <enet/enet.h> 18 // boost.thread library for multithreading support 19 #include <boost/thread/thread.hpp> 20 #include <boost/bind.hpp> 21 // headerfile 22 #include "network/ConnectionManager.h" 23 #include "network/PacketBuffer.h" 16 24 17 25 namespace network{ … … 20 28 #define NETWORK_MAX_CONNECTIONS 50 21 29 #define NETWORK_WAIT_TIMEOUT 5000 30 #define NETWORK_SEND_WAIT 5 22 31 //just some defines to make life easier ;) 23 #define ENetEvent std::ENetEvent24 #define ENetHost std::ENetHost25 #define ENetAddress std::ENetAddress26 #define ENetPeer std::ENetPeer32 // #define ENetEvent std::ENetEvent 33 // #define ENetHost std::ENetHost 34 // #define ENetAddress std::ENetAddress 35 // #define ENetPeer std::ENetPeer 27 36 28 37 struct ClientList{ 29 ENetEvent event;38 ENetEvent *event; 30 39 int ID; 31 40 ClientList *next; … … 35 44 public: 36 45 ConnectionManager(); 37 ~ConnectionManager(); 38 void loop(); // thread1 39 bool createListener(); 40 bool quitServer(); 41 bool sendEventAll(/*.....*/); 42 bool sendEvent(int clientID/*.....*/); 43 void test(); 46 ConnectionManager(int port, int address); 47 ENetPacket *getPacket(); // thread1 48 // check wheter the packet queue is empty 49 bool queueEmpty(); 50 // create a new listener thread 51 void createListener(); 52 bool quitListener(); 53 // add a packet to queue for a specific client peer 54 bool addPacket(ENetPacket *packet, ENetPeer *peer); 55 // add ad packet to queue for a specific client ID 56 bool addPacket(ENetPacket *packet, int ID); 57 // add a packet to queue for all clients 58 bool addPacketAll(ENetPacket *packet); 59 // send out all queued packets 60 bool sendPackets(ENetEvent *event); 44 61 private: 45 void peerLoop(int clientNumber); //thread2 46 bool clientDisconnect(ENetPeer peer); 47 bool processData(ENetEvent event); 48 bool addClient(ENetEvent event); 62 bool clientDisconnect(ENetPeer *peer); 63 bool processData(ENetEvent *event); 64 bool addClient(ENetEvent *event); 65 // implementation of the listener 66 void receiverThread(); //thread2 49 67 //packetbuffer 50 68 PacketBuffer buffer; … … 54 72 // quit-variable (communication with threads) 55 73 bool quit; 56 // thread group57 boost::thread_group threads;58 74 // clientlist 59 75 ClientList *client; 76 // thread group 77 // boost::thread_group threads; 60 78 }; 61 79
Note: See TracChangeset
for help on using the changeset viewer.