[Opentnl-cvs] tnl/tnl netConnection.cpp,1.1,1.2 netInterface.cpp,1.1,1.2 tnlNetConnection.h,1.2,1.3
Brought to you by:
mark_frohnmayer,
s_alanet
From: Mark F. <mar...@us...> - 2004-04-24 23:52:42
|
Update of /cvsroot/opentnl/tnl/tnl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16447/tnl Modified Files: netConnection.cpp netInterface.cpp tnlNetConnection.h tnlNetInterface.h Log Message: Added controller support dinput rudimentary win32 Fixed bug in netInterface for debug message requests Messed around with some ship movement parameters Other misc stuff. Index: netInterface.cpp =================================================================== RCS file: /cvsroot/opentnl/tnl/tnl/netInterface.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** netInterface.cpp 20 Apr 2004 04:27:18 -0000 1.1 --- netInterface.cpp 24 Apr 2004 23:52:33 -0000 1.2 *************** *** 844,848 **** if(!conn->readConnectAccept(stream, &errorString)) { - conn->handleStartupError(errorString); removePendingConnection(conn); return; --- 844,847 ---- *************** *** 1075,1078 **** --- 1074,1078 ---- out.write(SymmetricCipher::KeySize, theParams.mSymmetricKey); } + out.writeFlag(theParams.mDebugObjectSizes); out.write(conn->getInitialSendSequence()); conn->writeConnectRequest(&out); *************** *** 1168,1171 **** --- 1168,1172 ---- U32 connectSequence; + theParams.mDebugObjectSizes = stream->readFlag(); stream->read(&connectSequence); TNLLogMessageV(LogNetInterface, ("Received Arranged Connect Request")); *************** *** 1204,1207 **** --- 1205,1209 ---- else if(conn->getConnectionState() == NetConnection::Connected) { + conn->setConnectionState(NetConnection::Disconnected); if(conn->isNetworkConnection()) { *************** *** 1260,1262 **** --- 1262,1270 ---- } + void NetInterface::handleConnectionError(NetConnection *theConnection, const char *errorString) + { + theConnection->onConnectionError(errorString); + disconnect(theConnection, errorString); + } + }; Index: tnlNetConnection.h =================================================================== RCS file: /cvsroot/opentnl/tnl/tnl/tnlNetConnection.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tnlNetConnection.h 21 Apr 2004 01:40:35 -0000 1.2 --- tnlNetConnection.h 24 Apr 2004 23:52:33 -0000 1.3 *************** *** 204,209 **** virtual void onConnectionRejected(const char *reason); ///< Called when the remote host rejects this connection. virtual void onConnectionEstablished(bool isInitiator); ///< Called when the connection is successfully established with the remote host. ! virtual void handleStartupError(const char *errorString); ///< Called when the connection was "accepted" with a bogus connect accept packet. ! /// validates that the given certificate is a valid certificate for this /// connection. --- 204,208 ---- virtual void onConnectionRejected(const char *reason); ///< Called when the remote host rejects this connection. virtual void onConnectionEstablished(bool isInitiator); ///< Called when the connection is successfully established with the remote host. ! virtual void onConnectionError(const char *errorString); ///< Called when a connection receives a bogus packet or invalid data from the remote host /// validates that the given certificate is a valid certificate for this /// connection. *************** *** 257,264 **** public: - /// Called to indicate that this connection has received invalid data - /// and should be terminated with the given reason. - virtual void connectionError(const char *errorString); - /// Returns the next send sequence that will be sent by this side. U32 getNextSendSequence() { return mLastSendSeq + 1; } --- 256,259 ---- Index: netConnection.cpp =================================================================== RCS file: /cvsroot/opentnl/tnl/tnl/netConnection.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** netConnection.cpp 20 Apr 2004 04:27:18 -0000 1.1 --- netConnection.cpp 24 Apr 2004 23:52:32 -0000 1.2 *************** *** 233,238 **** readPacket(bstream); if(mErrorBuffer[0]) ! connectionError(mErrorBuffer); } } --- 233,241 ---- readPacket(bstream); + if(!bstream->isValid() && !mErrorBuffer[0]) + NetConnection::setLastError("Invalid Packet."); if(mErrorBuffer[0]) ! getInterface()->handleConnectionError(this, mErrorBuffer); ! mErrorBuffer[0] = 0; } } *************** *** 593,601 **** } - void NetConnection::connectionError(const char *errorString) - { - errorString; - } - //-------------------------------------------------------------------- --- 596,599 ---- *************** *** 799,803 **** } ! void NetConnection::handleStartupError(const char *errorString) { --- 797,801 ---- } ! void NetConnection::onConnectionError(const char *errorString) { Index: tnlNetInterface.h =================================================================== RCS file: /cvsroot/opentnl/tnl/tnl/tnlNetInterface.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** tnlNetInterface.h 20 Apr 2004 04:27:18 -0000 1.1 --- tnlNetInterface.h 24 Apr 2004 23:52:33 -0000 1.2 *************** *** 304,307 **** --- 304,309 ---- void handleDisconnect(const Address &address, BitStream *stream); + /// Handles an error reported while reading a packet from this remote connection. + void handleConnectionError(NetConnection *theConnection, const char *errorString); /// @} public: |