Changeset 9508 in orxonox.OLD for branches/proxy/src/lib/network/message_manager.h
- Timestamp:
- Jul 27, 2006, 3:37:11 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/proxy/src/lib/network/message_manager.h
r9507 r9508 20 20 int length 21 21 int number 22 int Message Id22 int MessageType 23 23 byte * data 24 24 )[1..nmsg] … … 27 27 28 28 //!< different message ids 29 enum Message Id29 enum MessageType 30 30 { 31 31 TESTMESSAGEID = 1, //!< for testing purposes … … 40 40 41 41 42 typedef bool (*MessageCallback)( Message Id messageId, byte * data, int dataLength, void * someData, int userId );42 typedef bool (*MessageCallback)( MessageType messageType, byte * data, int dataLength, void * someData, int userId ); 43 43 44 44 enum RecieverType … … 61 61 struct NetworkMessage 62 62 { 63 Message Id messageId;63 MessageType messageType; 64 64 byte * data; 65 65 int length; … … 77 77 typedef std::map<int,MessageUserQueue> MessageQueue; 78 78 79 80 79 81 struct MessageHandler 80 82 { 81 83 MessageCallback cb; 82 Message Id messageId;84 MessageType messageType; 83 85 void * someData; 84 86 }; 85 87 86 typedef std::map<Message Id,MessageHandler> MessageHandlerMap;88 typedef std::map<MessageType,MessageHandler> MessageHandlerMap; 87 89 88 90 //! A class for sending messages over network … … 95 97 virtual ~MessageManager(); 96 98 97 bool registerMessageHandler( Message Id messageId, MessageCallback cb, void * someData );99 bool registerMessageHandler( MessageType messageType, MessageCallback cb, void * someData ); 98 100 99 void sendMessage( Message Id messageId, byte * data, int dataLength, RecieverType recieverType, int reciever, MessagePriority messagePriority );101 void sendMessage( MessageType messageType, byte * data, int dataLength, RecieverType recieverType, int reciever, MessagePriority messagePriority ); 100 102 103 void initUser( int userId ); 104 105 106 private: 101 107 virtual int getStateDiff( int userId, byte* data, int maxLength, int stateId, int fromStateId, int priorityTH ); 102 108 virtual int setStateDiff( int userId, byte* data, int length, int stateId, int fromStateId ); … … 105 111 virtual void handleRecvState( int userId, int stateId, int fromStateId ){} 106 112 107 void initUser( int userId );108 109 113 110 114 private: 111 static MessageManager * singletonRef; 112 MessageQueue messageQueue; //!< stores messages to send 115 static MessageManager * singletonRef; //!< the singleton reference 116 117 std::list<NetworkMessage> incomingMessageQueue; //!< the incoming message buffer 118 MessageQueue outgoingMessageQueue; //!< stores messages to send 113 119 MessageHandlerMap messageHandlerMap; //!< contains handlers for messages 114 120 115 121 int newNumber; //!< used to create unique message numbers 116 std::list<NetworkMessage> incomingMessageBuffer; 122 117 123 118 124 };
Note: See TracChangeset
for help on using the changeset viewer.