Improved the --iconv description.
[rsync/rsync.git] / csprotocol.txt
index 05b28c1..fc38820 100644 (file)
@@ -3,6 +3,8 @@ basically a summary of clientserver.c and authenticate.c.
 
  -- Martin Pool <mbp@samba.org>
 
 
  -- 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.
 
 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!).
 
 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.