CVS: rdesktop/doc seamlessrdp-channel.txt,1.1.2.9,1.1.2.10

Pierre Ossman <[email protected]> Mon, 20 Mar 2006 07:21:55 -0800
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop/doc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10500/doc

Modified Files:
      Tag: seamlessrdp-branch
	seamlessrdp-channel.txt 
Log Message:
Add info about serials and ACK:s to the seamless protocol spec.


Index: seamlessrdp-channel.txt
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/doc/Attic/seamlessrdp-channel.txt,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -C2 -d -r1.1.2.9 -r1.1.2.10
*** seamlessrdp-channel.txt	16 Mar 2006 14:56:27 -0000	1.1.2.9
--- seamlessrdp-channel.txt	20 Mar 2006 15:21:53 -0000	1.1.2.10
***************
*** 17,21 ****
  The protocol is a line based protocol following this simple syntax:
  
! 	OPERATION[,ARG1[,ARG2,[...]]]
  
  The goal is to have a generic protocol that can be used for other display
--- 17,24 ----
  The protocol is a line based protocol following this simple syntax:
  
! 	OPERATION,SERIAL[,ARG1[,ARG2,[...]]]
! 
! Each operation will have an increasing serial number. The initial value is
! implementation defined.
  
  The goal is to have a generic protocol that can be used for other display
***************
*** 28,31 ****
--- 31,38 ----
  this rule.
  
+ The protocol has no way of indicating failure, meaning that all commands are
+ expected to succeed. If a command fails, the receiving end must send a
+ corresponding command back, indicating the actual state.
+ 
  Data types
  ==========
***************
*** 49,53 ****
  
  Syntax:
! 	CREATE,<ID>,<PARENT>,<FLAGS>
  
  Indicates that a window has appeared on the server. If PARENT is non-zero then
--- 56,60 ----
  
  Syntax:
! 	CREATE,<SERIAL>,<ID>,<PARENT>,<FLAGS>
  
  Indicates that a window has appeared on the server. If PARENT is non-zero then
***************
*** 66,70 ****
  
  Syntax:
! 	DESTROY,<ID>,<FLAGS>
  
  Remove the window and deallocate all associated structures.
--- 73,77 ----
  
  Syntax:
! 	DESTROY,<SERIAL>,<ID>,<FLAGS>
  
  Remove the window and deallocate all associated structures.
***************
*** 76,80 ****
  
  Syntax:
! 	POSITION,<ID>,<X>,<Y>,<WIDTH>,<HEIGHT>,<FLAGS>
  
  If the window isn't visible yet (because a
--- 83,87 ----
  
  Syntax:
! 	POSITION,<SERIAL>,<ID>,<X>,<Y>,<WIDTH>,<HEIGHT>,<FLAGS>
  
  If the window isn't visible yet (because a
***************
*** 89,93 ****
  
  Syntax:
! 	TITLE,<ID>,<TITLE>,<FLAGS>
  
  The text is guaranteed to be stripped of control characters (< 0x20).
--- 96,100 ----
  
  Syntax:
! 	TITLE,<SERIAL>,<ID>,<TITLE>,<FLAGS>
  
  The text is guaranteed to be stripped of control characters (< 0x20).
***************
*** 104,108 ****
  
  Syntax:
! 	ZCHANGE,<ID>,<BEHIND>,<FLAGS>
  
  The window with the id ID is behind the window with the id BEHIND. If
--- 111,115 ----
  
  Syntax:
! 	ZCHANGE,<SERIAL>,<ID>,<BEHIND>,<FLAGS>
  
  The window with the id ID is behind the window with the id BEHIND. If
***************
*** 115,119 ****
  
  Syntax:
! 	STATE,<ID>,<STATE>,<FLAGS>
  
  State can have one of three values:
--- 122,126 ----
  
  Syntax:
! 	STATE,<SERIAL>,<ID>,<STATE>,<FLAGS>
  
  State can have one of three values:
***************
*** 131,135 ****
  
  Syntax:
! 	DEBUG,<STRING>
  
  Used for debugging.
--- 138,142 ----
  
  Syntax:
! 	DEBUG,<SERIAL>,<STRING>
  
  Used for debugging.
***************
*** 141,145 ****
  
  Syntax:
! 	SYNCBEGIN,<FLAGS>
  
  Sent when the server starts a synchronisation. The client should flush all
--- 148,152 ----
  
  Syntax:
! 	SYNCBEGIN,<SERIAL>,<FLAGS>
  
  Sent when the server starts a synchronisation. The client should flush all
***************
*** 152,156 ****
  
  Syntac:
! 	SYNCEND,<FLAGS>
  
  Sent when the last message that is part of the synchronisation has been sent.
--- 159,163 ----
  
  Syntac:
! 	SYNCEND,<SERIAL>,<FLAGS>
  
  Sent when the last message that is part of the synchronisation has been sent.
***************
*** 164,168 ****
  
  Syntax:
! 	HELLO,<FLAGS>
  
  The server starts each connection by sending this message. Normally the client
--- 171,175 ----
  
  Syntax:
! 	HELLO,<SERIAL>,<FLAGS>
  
  The server starts each connection by sending this message. Normally the client
***************
*** 170,173 ****
--- 177,193 ----
  this is a new connection to an existing session.
  
+ ACK
+ ---
+ 
+ Acknowledgement of a request to manipulate a window.
+ 
+ Syntax:
+ 	ACK,<SERIAL>,<ACKSERIAL>
+ 
+ Whenever one of the commands POSITION, ZCHANGE, STATE or FOCUS is executed on
+ the server, the server will send an ACK back to the client. The purpose of this
+ is to inform the client of when the operation was actually performed, allowing
+ high latencies in the channel.
+ 
  Client to Server Operations
  ===========================
***************
*** 179,183 ****
  
  Syntax:
! 	SYNC,<FLAGS>
  
  For each window, the server will send CREATE, POSITION and STATE, in that
--- 199,203 ----
  
  Syntax:
! 	SYNC,<SERIAL>,<FLAGS>
  
  For each window, the server will send CREATE, POSITION and STATE, in that
***************
*** 211,215 ****
  
  Syntax:
! 	FOCUS,<ID>,<FLAGS>
  
  Changes which window that will recieve the keyboard events. Note that this
--- 231,235 ----
  
  Syntax:
! 	FOCUS,<SERIAL>,<ID>,<FLAGS>
  
  Changes which window that will recieve the keyboard events. Note that this



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642