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