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.
|