SVN: ZODB/trunk/src/ZEO/ Updated ZEO protocol version to reflect addition of

Jim Fulton <[email protected]>
Newsgroups gmane.comp.python.zope.zodb.cvs
Message-ID <[email protected]>
Log message for revision 116175:
  Updated ZEO protocol version to reflect addition of
  checkCurrentSerialInTransaction.
  
  Add logic to allow new clients to be used with older servers.
  

Changed:
  U   ZODB/trunk/src/ZEO/ClientStorage.py
  U   ZODB/trunk/src/ZEO/zrpc/connection.py

-=-
Modified: ZODB/trunk/src/ZEO/ClientStorage.py
===================================================================
--- ZODB/trunk/src/ZEO/ClientStorage.py	2010-09-03 10:58:03 UTC (rev 116174)
+++ ZODB/trunk/src/ZEO/ClientStorage.py	2010-09-03 13:56:12 UTC (rev 116175)
@@ -632,6 +632,11 @@
         if self._client_label and conn.peer_protocol_version >= "Z310":
             stub.set_client_label(self._client_label)
 
+        if conn.peer_protocol_version < "Z3101":
+            logger.warning("Old server doesn't suppport "
+                           "checkCurrentSerialInTransaction")
+            self.checkCurrentSerialInTransaction = lambda *args: None
+
         self._oids = []
         self.verify_cache(stub)
 

Modified: ZODB/trunk/src/ZEO/zrpc/connection.py
===================================================================
--- ZODB/trunk/src/ZEO/zrpc/connection.py	2010-09-03 10:58:03 UTC (rev 116174)
+++ ZODB/trunk/src/ZEO/zrpc/connection.py	2010-09-03 13:56:12 UTC (rev 116175)
@@ -242,20 +242,21 @@
     #             undoa
     #         Doesn't support undo for older clients.
     #         Undone oid info returned by vote.
-    #         readCurrent
+    #
+    # Z3101 -- checkCurrentSerialInTransaction
 
     # Protocol variables:
     # Our preferred protocol.
-    current_protocol = "Z310"
+    current_protocol = "Z3101"
 
     # If we're a client, an exhaustive list of the server protocols we
     # can accept.
-    servers_we_can_talk_to = ["Z308", "Z309", current_protocol]
+    servers_we_can_talk_to = ["Z308", "Z309", "Z310", current_protocol]
 
     # If we're a server, an exhaustive list of the client protocols we
     # can accept.
     clients_we_can_talk_to = [
-        "Z200", "Z201", "Z303", "Z308", "Z309", current_protocol]
+        "Z200", "Z201", "Z303", "Z308", "Z309", "Z310", current_protocol]
 
     # This is pretty excruciating.  Details:
     #
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.