SF.net SVN: fclient: [201] trunk/sandbox/fcp/fcp2_0_client.py
Status: Pre-Alpha
Brought to you by:
jurner
From: <ju...@us...> - 2008-02-11 10:52:58
|
Revision: 201 http://fclient.svn.sourceforge.net/fclient/?rev=201&view=rev Author: jurner Date: 2008-02-11 02:52:59 -0800 (Mon, 11 Feb 2008) Log Message: ----------- added basic event logging + a client gets closed on duplicate connection name Modified Paths: -------------- trunk/sandbox/fcp/fcp2_0_client.py Modified: trunk/sandbox/fcp/fcp2_0_client.py =================================================================== --- trunk/sandbox/fcp/fcp2_0_client.py 2008-02-11 10:51:58 UTC (rev 200) +++ trunk/sandbox/fcp/fcp2_0_client.py 2008-02-11 10:52:59 UTC (rev 201) @@ -140,6 +140,26 @@ #FIX: workaround for the "related" part #------------------------------------------------------------------------------------------------------------------------------------------------ + +# Todos +#------------------------------------------------------------------------------------------------------------------------------------------------ +# logging +# +# logging is not very accurate. What to log at wich level? What details? +# +#------------------------------------------------------------------------------------------------------------------------------------------------ +# clean up +# +# x. move saveWriteFile and friends to a separate module +# +#------------------------------------------------------------------------------------------------------------------------------------------------ +# Fcp types vs. Python types +# +# x. Fcp seems to use kibibytes. Autoconvert to kilobytes? +# +#------------------------------------------------------------------------------------------------------------------------------------------------ + + import atexit import copy import cPickle @@ -252,7 +272,7 @@ # suggested by Mathew Toseland to use about 32k for mimeType requests # basic sizes of keys are: 1k for SSks and 32k for CHKs # without MaxSize DataFound will have DataLength set to 0 (?!) - MaxSizeKeyInfo = '32000' + MaxSizeKeyInfo = 32768 #TODO: 32k SocketTimeout = 0.1 ExpectedFcpVersion = 2.0 ExpectedNodeBuild = 1107 @@ -284,6 +304,8 @@ self._socket = None self.events = Events() + for event in self.events: + event += self._logEvent self.setDebugVerbosity(consts.DebugVerbosity.Warning if debugVerbosity is None else debugVerbosity) atexit.register(self.close) @@ -422,6 +444,10 @@ msg['Identifier'] = identifier self._requests[identifier] = msg + + def _logEvent(self, event, request): + self._log.info(consts.LogMessages.EventTriggered + event.name) + ############################################################### ## ## connection related methods @@ -443,6 +469,7 @@ self._ddaTests = [] self._requests = {} + def closeFreenet(self): """Shuts down the freenet node""" @@ -483,7 +510,7 @@ # poll untill freenet responds timeElapsed = 0 - while timeElapsed <= duration: + while timeElapsed < duration: # try to Connect socket if self._socket is not None: @@ -1161,6 +1188,7 @@ ## #################################################### elif msg.name == consts.Message.CloseConnectionDuplicateClientName: + self.close() msg = self.Message( consts.Message.ClientDisconnected, DisconnectReason=consts.DisconnectReason.DuplicateClientName, @@ -1220,7 +1248,6 @@ elif msg.name == consts.Message.ClientSocketTimeout: if dispatch: self.events.Idle(msg) - else: if dispatch: self.handleMessage(msg) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |