From: Keith F. <ven...@us...> - 2003-03-30 07:19:35
|
Update of /cvsroot/planeshift/planeshift/src/server In directory sc8-pr-cvs1:/tmp/cvs-serv31255 Modified Files: netthread.h Log Message: Committing new comments for doxygen on netthread. Thanks to Brendon for these. Index: netthread.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/netthread.h,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** netthread.h 12 Mar 2003 23:15:56 -0000 1.26 --- netthread.h 30 Mar 2003 07:19:33 -0000 1.27 *************** *** 37,84 **** ~NetThread(); ! /** ! * Initialize the network thread. msgtype initializes firstmsg ! * and timeout is the timout in ms for a connection. If no ! * packets are sent or recieved in this time then the * connection is made linkdead. ! * firstmsg is the type of the first message that must be recieved from ! * a valid client. */ bool Initialize(int msgtype, int timeout=15000); ! /** ! * This sends the same msg out to a bunch of Clients. ! * Which clients recieve this message, depend on ! * the scope, which can be one of: ! * NetBase::BC_EVERYONEBUTSELF ! * NetBase::BC_GROUP ! * NetBase::BC_GUILD ! * NetBase::BC_SECTOR ! * NetBase::BC_EVERYONE ! * NetBase::BC_FINALPACKET ! * DON'T use this in the client app, it's only here for the MsgHandler ! * class! */ virtual void Broadcast(MsgEntry *me, int scope,int guild=-1); ! /* ! * Sends the given message me to all the clients in the list (clientlist) which is of size count. ! * This will send the message to all the clients except the client with client number equal to except. */ virtual void Multicast (MsgEntry* me, PublishVector& multi, int except, float range); ! /** ! * This is called periodicly to detect linkdead clients. ! * If it finds a link dead client then it will delete the ! * client's connection. */ void CheckLinkDead(void); ! /// return pointer to the list of all the clients ClientConnectionSet* GetConnections() { return &clients; } ! /** ! * Sends the given message. MsgEntry has info on who the ! * message is going to. */ virtual bool SendMessage (MsgEntry* me); --- 37,109 ---- ~NetThread(); ! /** Initialize the network thread. ! * msgtype initializes firstmsg and timeout is the timout in ms for a ! * connection. If no packets are sent or received in this time then the * connection is made linkdead. ! * ! * @param msgtype: Is the message type that must be received from a client ! * to determine if it is a valid client. ! * @param timeout: Is the timeout value for a connection given in ms. The ! * default value given is 15000ms. ! * @return Returns success or faliure for initializing. */ bool Initialize(int msgtype, int timeout=15000); ! /** This broadcasts the same msg out to a bunch of Clients. ! * Which clients recieve this message, depend on the scope.DON'T use this ! * in the client app, it's only here for the MsgHandler class! ! * ! * @param me: Is the message to be broadcast to other clients. ! * @param scope: Determines which clients will recieve the broadcasted ! * message. Scope can be one of: ! * - NetBase::BC_EVERYONEBUTSELF ! * - NetBase::BC_GROUP ! * - NetBase::BC_GUILD ! * - NetBase::BC_SECTOR ! * - NetBase::BC_EVERYONE ! * - NetBase::BC_FINALPACKET ! * . ! * @param guild: Is the ID of the guild of the owner of the message. This is ! * only used when scope is set to BC_GUILD. By default is set to -1 and ! * is unused. ! * @see MsgEntry */ virtual void Broadcast(MsgEntry *me, int scope,int guild=-1); ! ! /* Sends the given message me to all the clients in the list. ! * Sends the given message me to all the clients in the list (clientlist) ! * which is of size count. This will send the message to all the clients ! * except the client which has a client number given in the variable ! * except. ! * <p>//@@@Brendon Note: Why is multi not const & ? ! * ! * @param me: Is the message to be sent to other clients. ! * @param multi: Is a vector of all the clients to send this message to. ! * @param except: Is a client number for a client NOT to send this message ! * to. This would usually be the client trying to send the message. ! * @param range: Is the maximum distance the client must be away to be out ! * of "message reception range". */ virtual void Multicast (MsgEntry* me, PublishVector& multi, int except, float range); ! /** Checks for and deletes link dead clients. ! * This is called periodicly to detect linkdead clients. If it finds a ! * link dead client then it will delete the client's connection. */ void CheckLinkDead(void); ! /** Gets a list of all connected clients. ! * ! * @return Returns a pointer to the list of all the clients. ! */ ClientConnectionSet* GetConnections() { return &clients; } ! /** Sends the given message to the client listed in the message. ! * MsgEntry has info on who the message is going to. ! * ! * @param me: Is a message MsgEntry which contains the message and the ! * client number to send the message to. ! * @return Returns success or faliure. */ virtual bool SendMessage (MsgEntry* me); *************** *** 86,115 **** protected: ! /** ! * Returns a NetThread::Connection from the given IP address. */ virtual Connection *GetConnByIP (LPSOCKADDR_IN addr); ! /** ! * Returns a NetThread::Connection from the given client number. */ virtual Connection *GetConnByNum (uint32_t clientnum); ! /** ! * This is called when we have recieved a message from a ! * client that we don't know yet. This happens when a new client ! * connects to us. First thing it does is check to make sure ! * the msgtype is equal to firstmsg. If not then we have recieved ! * some random packet. If so then it adds this new client ! * to our client list and then changed the client number on ! * the message so an acknowledge can be sent back later. */ virtual bool HandleUnknownClient (LPSOCKADDR_IN addr, MsgEntry* msg); private: ! /** ! * This is the main thread function. If it hasn't been ! * initialized it waits until the server is ready to go (i.e. is initialized) ! * if so then it sits in a loop where it calls NetBase::ProcessNetwork() ! * and also checks all the dead links. This method also calculates ! * the data transferr rate. */ void Run (); --- 111,151 ---- protected: ! /** Returns a NetThread::Connection from the given IP address. ! * ! * @param addr: Is the IP address of client we want to find the connection ! * for. ! * @return Returns a Connection object that contains the connection for ! * the given IP address. */ virtual Connection *GetConnByIP (LPSOCKADDR_IN addr); ! /** Returns a NetThread::Connection from the given client number. ! * ! * @param clientnum: Is the client number we wish to get the connection ! * for. ! * @return Returns a Connection object that contains the connection for ! * the given client number. */ virtual Connection *GetConnByNum (uint32_t clientnum); ! /** Handles/connects a new client from an unknown IP address. ! * This is called when we have recieved a message from a client that we ! * don't know yet. This happens when a new client connects to us. First ! * thing it does is check to make sure the msgtype is equal to firstmsg. ! * If not then we have recieved some random packet. If so then it adds ! * this new client to our client list and then changed the client number ! * on the message so an acknowledge can be sent back later. ! * ! * @param addr: Is the IP address of the client we have not seen before. ! * @param msg: Is the message recieved from the unknown client. ! * @return Returns true if the client has been verified and connected or ! * false if it is a bad client or failed to connect properly. */ virtual bool HandleUnknownClient (LPSOCKADDR_IN addr, MsgEntry* msg); private: ! /** This is the main thread function. ! * If it hasn't been initialized it waits until the server is ready to go ! * (i.e. is initialized) if so then it sits in a loop where it calls ! * NetBase::ProcessNetwork() and also checks all the dead links. This ! * method also calculates the data transfer rate. */ void Run (); *************** *** 137,140 **** --- 173,177 ---- #endif + |