From cd5f0ed39358c9375e0a22b2606bb8e9eb6feed8 Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Wed, 16 May 2001 22:54:28 +0000 Subject: [PATCH] (Top, Concepts, The Aux-Item List) (Fundamentals, LysKOM Data Types, Who Information) (Protocol Requests, Asynchronous Messages, Common Commands): Menu descriptions added. (get-text): @badspell added in example. (Who Information): These types are all obsolete. Almost. (Client-Server Dialog): Mention asynchronous messages. --- doc/Protocol-A.texi | 126 ++++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 58 deletions(-) diff --git a/doc/Protocol-A.texi b/doc/Protocol-A.texi index 2062eebae..57654fddc 100644 --- a/doc/Protocol-A.texi +++ b/doc/Protocol-A.texi @@ -382,23 +382,23 @@ The most up-to-date version if this document can always be found at @end ifnottex @menu -* Preface:: -* Concepts:: -* Fundamentals:: -* LysKOM Data Types:: -* Protocol Requests:: -* Asynchronous Messages:: -* Error Codes:: -* Aux-Item Types:: -* Name Expansion:: -* LysKOM Content Types:: -* The User Area:: -* Writing Clients:: -* Importing and Exporting E-Mail:: -* Future changes:: -* Protocol Version History:: -* Document Edition History:: -* Index:: +* Preface:: What is LysKOM? Who wrote this document? +* Concepts:: Articles, conferences, aux-items, @dots{} +* Fundamentals:: The building blocks of Protocol A. +* LysKOM Data Types:: Domain-specific data types used in Protocol A. +* Protocol Requests:: Each protocol explained in depth. +* Asynchronous Messages:: Unsolicited information from the server. +* Error Codes:: All error codes with explanations. +* Aux-Item Types:: All predefined aux-item types. +* Name Expansion:: Looking up the name of a conference or person. +* LysKOM Content Types:: Predefined content types for articles. +* The User Area:: Store client-specific settings in the server. +* Writing Clients:: A few tips for client writers. +* Importing and Exporting E-Mail:: A few thoughts on e-mail integration. +* Future changes:: The protocol is not yet perfect. +* Protocol Version History:: The protocol was even less perfect before. +* Document Edition History:: Changes in this document. +* Index:: Index of protocol elements. @end menu @node Preface @@ -444,13 +444,16 @@ This chapter introduces the concepts used in LysKOM, such as articles, conferences and sessions. @menu -* Articles:: -* Conferences:: -* Persons and Sessions:: -* The Misc-Info List:: -* The Aux-Item List:: -* Security:: -* Membership and Reading:: +* Articles:: Reading and writing articles is what + LysKOM is about. +* Conferences:: Articles are organized in conferences. +* Persons and Sessions:: Persons log on to the LysKOM system. +* The Misc-Info List:: How articles are organized in comment + chains and in conferences. +* The Aux-Item List:: A generic extension mechanism. +* Security:: Some persons have more privileges than + others. +* Membership and Reading:: You don't have to read anything twice. @end menu @@ -714,11 +717,13 @@ The aux-item list is used as a generic extension mechanism in the LysKOM server and in protocol A. @menu -* About Aux-Items:: -* Predefined Aux-Item Types:: -* Client-Specific Aux-Item Types:: -* Experimental Aux-Item Types:: -* Defining New Aux-Item Types:: +* About Aux-Items:: An introduction to aux-items. +* Predefined Aux-Item Types:: Predefined aux-items are part of the protocol. +* Client-Specific Aux-Item Types:: Clients can allocate aux-items for + their private use. +* Experimental Aux-Item Types:: A block of aux-items are reserved for + experimental use. +* Defining New Aux-Item Types:: Creating new aux-item types is easy. @end menu @node About Aux-Items @@ -971,11 +976,11 @@ are built. Simple data types include things like integers and strings while complex data types include things such as conferences and people. @menu -* Notation:: -* Simple Data Types:: -* Connecting to the Server:: -* Client-Server Dialog:: -* Protocol Error Messages:: +* Notation:: The grammar used in this document. +* Simple Data Types:: BOOL, INT32, ARRAY, @dots{} +* Connecting to the Server:: The initial handshake. +* Client-Server Dialog:: Requests, replies, asynchronous messages. +* Protocol Error Messages:: How the server reacts to syntax errors. @end menu @node Notation @@ -1371,6 +1376,11 @@ error in any situation without choking completely since bugs might cause the wrong error message to be sent or new errors might be added later on. +The server may send asynchronous messages (@pxref{Asynchronous +Messages}) to the client at any time (but not in the middle of a +reply). Two important asynchronous messages are +@async{async-new-text} (@pxref{async-new-text}) and +@async{async-send-message} (@pxref{async-send-message}). @node Protocol Error Messages @section Protocol Error Messages @@ -1416,20 +1426,20 @@ Since the types defined here are all based on the simple types, the definitions are more concise in this section. @menu -* Common Types:: -* Auxiliary Information:: -* Conference Types:: -* Conference Search Results:: -* Conference Status Types:: -* Archaic way to list conferences:: -* Mapping Local to Global Text Numbers:: -* Server Information:: -* Person Status Types:: -* Membership Information:: -* Article Marks:: -* Article Information:: -* Who Information:: -* Session Information:: +* Common Types:: Simple types used over and over again. +* Auxiliary Information:: Aux-items and related types. +* Conference Types:: A few flags for conferences. +* Conference Search Results:: Name lookup returns these types. +* Conference Status Types:: Information about a conference. +* Archaic way to list conferences:: Archaic name lookup result type. +* Mapping Local to Global Text Numbers:: The Text-Mapping type. +* Server Information:: Information about an installation. +* Person Status Types:: Information about a person. +* Membership Information:: Persons are members of conferences. +* Article Marks:: Persons can mark articles. +* Article Information:: Information about an article. +* Who Information:: Old-style info about logged-on users. +* Session Information:: New-style info about logged-on users. @end menu @node Common Types @@ -2421,12 +2431,10 @@ introduced in protocol version 10 or later. ) @end example -These structures are used to retrieve and set information on who is -currently using LysKOM. The types marked as ``old'' are obsolete but are -included for completeness. @type{Who-Info-Old} identifies a user who is -currently using LysKOM. @type{Who-Info} is used to set information -about a session and is returned by one obsolete -call. @type{Who-Info-Ident} is the preferred data type to use. +These structures are used to retrieve information on who is currently +using LysKOM. All the requests using these types are obsolete, but +@type{Who-Info} is used by @async{async-i-am-on} +(@pxref{async-i-am-on}). The fields of @type{Who-Info-Old} are @@ -2656,7 +2664,8 @@ calls are annotated with the protocol version in which they appeared and their current status. @menu -* Protocol Notation:: +* Protocol Notation:: The notation used when describing the + requests and their replies. * login-old:: O Log in to LysKOM. Call 62 is preferred (0) * logout:: r Log out. Call 62 to log in again (1) * change-conference:: r Change current conference (2) @@ -4006,7 +4015,7 @@ as is available will be returned. @reqexample @example 1 25 100 0 32766 - @t{=1 @holl{25,Yawn^JNothing is happening}} + @t{=1 @holl{25,Yawn@badspell{^J}Nothing is happening}} 2 25 100 5 32766 @t{=2 @holl{20,Nothing is happening}} 3 25 100 0 3 @@ -7581,7 +7590,8 @@ reject them if a client uses it as an argument to @reqlink{accept-async}. @menu -* About Asynchronous Messages:: +* About Asynchronous Messages:: Introductory information about + asynchronous messages. * async-new-text-old:: r A text has been created (0) * async-i-am-off:: O Logged off (obsolete) (1) * async-i-am-on-obsolete:: O Client changed i-am-on string (obsolete) (2) @@ -8837,7 +8847,7 @@ section is to get client writers started on some of these commands, and to answer some questions that seem to come up over and over again. @menu -* What do I have unread:: +* What do I have unread:: How to figure out which articles to present. @end menu @node What do I have unread -- GitLab