Simplified the newly added test so that it should stop sporadically
[rsync.git] / csprotocol.txt
index 05b28c1907f0a3d1a1e32a045de58705bae7e41b..fc388202396a2bb015220226895858212461de7c 100644 (file)
@@ -3,6 +3,8 @@ basically a summary of clientserver.c and authenticate.c.
 
  -- Martin Pool <mbp@samba.org>
 
+$Id$
+
 
 
 
@@ -54,7 +56,27 @@ So if the client specifies a list of files to be included or excluded,
 they'll defer to existing limits specified in the server
 configuration.
 
+At this point the client and server both switch to using a
+multiplexing layer across the socket.  The main point of this is to
+allow the server to asynchronously pass errors back, while still
+allowing streamed and pipelined data.
+
+Unfortunately, the multiplex protocol is not used at every stage.  We
+start up in plain socket mode and then change over by calling
+io_start_buffering.  Of course both the client and the server have to
+do this at the same point.
+
 The server then talks to the client as normal across the socket,
 passing checksums, file lists and so on.  For documentation of that,
 stay tuned (or write it yourself!).
 
+
+
+------------
+Protocol version changes
+
+25      (2001-08-20, 2.4.7pre2) 
+
+        Send an explicit "@RSYNC EXIT" command at the end of the
+        module listing.  We never intentionally end the transmission
+        by just closing the socket anymore.