ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/documentation/specification/protocols.txt
(Generate patch)

Comparing projects/cms/documentation/specification/protocols.txt (file contents):
Revision 1.3 by ajm, Sun Jan 28 20:05:35 2001 UTC vs.
Revision 1.7 by ajm, Mon Jan 29 10:03:14 2001 UTC

# Line 12 | Line 12 | Contents
12   - Client Control Protocol
13   - Client Data Protocol
14  
15
15   Conventions
16   -----------
17   All protocols in this document assume a valid connection of
# Line 26 | Line 25 | is a variety of options they will be separated with th
25   character.  For example:
26  
27      [OK|ERROR]
28 <  
28 >  
29   Indicates that the message "OK" OR the message "ERROR" will
30   be sent depending on the result of the last action.
31  
# Line 36 | Line 35 | of data that will be returned.  For example:
35  
36      {lastmodified}
37  
38 < Indicates that data for use as 'last modified' will be
39 < returned.  
38 > Indicates that data for use as 'last modified' will be
39 > returned.  
40  
41 < If [ERROR] is sent back at any time, this indicates that all
41 > If [ERROR] is sent back at any time, this indicates that all
42   communication is over. EXCEPT where otherwise specified!
43  
45
44   Host Connection Protocol
45   ------------------------
46   The initial connection of a host to the i-scream server is
# Line 58 | Line 56 | Host         (direction) Server         Comment
56   [STARTCONFIG]---------->                Requests to start
57                                          receiving config
58                                          information
59 <            
59 >          
60               <---------- [OK|ERROR]     If the server ok's
61                                          the request or not
62  
# Line 67 | Line 65 | Host         (direction) Server         Comment
65                                          (used when checking
66                                          if the config has
67                                          changed)
68 <            
68 >          
69               <---------- [{lastmodified}Returns a long int
70                           |ERROR]        time since epoch
71                                          eg, 123456789
72 <
72 >                                        To indicate what
73 >                                        format this is in,
74 >                                        I quote from the
75 >                                        Java 1.3 JDK API
76 >                                        "measured in milli
77 >                                        -seconds since the
78 >                                        epoch"
79 >                                      
80   [FILELIST]   ---------->                Asks the server for
81                                          the list of files
82                                          that were used to
# Line 79 | Line 84 | Host         (direction) Server         Comment
84                                          (used when checking
85                                          if the config has
86                                          changed)
87 <      
87 >      
88               <---------- [{filelist}    Returns a semi-colon
89                           |ERROR]        separated list of
90                                          filenames
# Line 95 | Line 100 | Host         (direction) Server         Comment
100                                          retrieved from the
101                                          config file
102                                          eg, UDPUpdateTime
103 <            
103 >          
104               <---------- [{value}|ERROR]Returns the value of
105                                          the requested config
106                                          property
# Line 104 | Line 109 | Host         (direction) Server         Comment
109                                          find the requested
110                                          property it returns
111                                          ERROR to indicate
112 <                                        that fact, but
113 <                                        communication still
112 >                                        that fact, but
113 >                                        communication still
114                                          proceeds
115 <                                      
115 >                                      
116               ********** LOOP UNTIL **********
117               The loop continues until the host
118               sends the following message
119 <            
119 >          
120   [ENDCONFIG]  ---------->                Indicates that the
121                                          host requires no
122                                          more config
123 <            
123 >          
124               ********** LOOP  END **********
125               Communication continues
126 <            
126 >          
127               <---------- [OK]           Indicates that the
128                                          server is ready to
129                                          proceed
130 <                                      
130 >                                      
131   [FILTER]     ---------->                Asks the server to
132                                          send it the host
133                                          information of a
134                                          filter that it
135                                          should connect to
136 <                                      
136 >                                      
137               <---------- {filter}       Returns a semi-colon
138                                          separated list of
139                                          FQDN hostname, UDP
# Line 146 | Line 151 | Host         (direction) Server         Comment
151                                          server that the host
152                                          has finished an will
153                                          disconnect
154 <            
154 >          
155               <---------- [OK|ERROR]     Indicates that the
156                                          server is either ok
157                                          or that it thought
158                                          there was an error
154 <<<<<<< protocols.txt
159   ------------------------------------------------------------
160 <
157 < =======
158 <      
159 < >>>>>>> 1.2
160 >      
161   Host Heartbeat Protocol
162   -----------------------
163   When a host is configured after it has connected it should
# Line 174 | Line 175 | Host            (direction) Server      Comment
175   [HEARTBEAT]     ---------->             Starts the
176                                          heartbeat protocol
177                                          off
178 <                                      
178 >                                      
179                  <---------- [OK|ERROR]  Indicates that the
180                                          server is ok or not
181  
# Line 205 | Line 206 | Host            (direction) Server      Comment
206                                          identical to the one
207                                          received in the
208                                          connection protocol
209 +                                        To indicate what
210 +                                        format this is in,
211 +                                        I quote from the
212 +                                        Java 1.3 JDK API
213 +                                        "measured in milli
214 +                                        -seconds since the
215 +                                        epoch"
216  
217                  <---------- [OK|ERROR]  The server then
218                                          checks all the files
# Line 230 | Line 238 | Host            (direction) Server      Comment
238                                          server that the host
239                                          has finished an will
240                                          disconnect
241 <              
241 >              
242                  <---------- [OK|ERROR]  Indicates that the
243                                          server is either ok
244                                          or that it thought
# Line 243 | Line 251 | The UDP data packets that are sent by the host contain
251   simply XML data.  For information on the format of this
252   data see the XML via UDP specification document at:
253  
254 < http://www.i-scream.org.uk/cgi-bin/docs.cgi?doc=specificatio
247 < n/xml_via_udp.txt
254 > http://www.i-scream.org.uk/cgi-bin/docs.cgi?doc=specification/xml_via_udp.txt
255  
256   Client Control Protocol
257   -----------------------
# Line 252 | Line 259 | Client Control Protocol
259   The client control protocol channel is opened by the client
260   and allows a variety of actions to be carried out by the
261   client at anytime.  Unlike previous protocols, this is NOT
262 < sequential, all of the requests can be carried out in
262 > sequential, all of the requests can be carried out in
263   any order.
264  
265   All client protocols are backwards compatible, and the
# Line 278 | Line 285 | v1.0 - Protocol identifier: "PROTOCOL 1.0" (without qu
285   Host         (direction) Server         Comment
286   ------------------------------------------------------------
287   <initialise>
281 [CONNECT]    ---------->                Starts off the
282                                        client protocol
283            
288               <---------- [{protocol}]   The server sends the
289                                          protocol identifier
290 <                                        
290 >                                      
291   [{name}]     ---------->                The client sends its
292                                          "name".  This name
293                                          is used to identify
# Line 291 | Line 295 | Host         (direction) Server         Comment
295                                          to the system and
296                                          obtain its config
297                                          eg, Conient
298 <            
298 >            
299               <---------- [OK]           Indicates the server
300                                          is ok to proceed
301 <                        
301 >                      
302  
303   <command #1> (allows client to obtain its configuration)
304   [STARTCONFIG]---------->                Tell the server we
305                                          want to start this
306                                          command
307 <            
307 >            
308               <---------- [OK]           Indicates the server
309                                          is ok to proceed
310 <            
310 >            
311               ********** LOOP START **********
312               This loop reads configuration
313               properties from the config
# Line 314 | Line 318 | Host         (direction) Server         Comment
318                                          config file
319                                          Clients can obtain
320                                          host information
321 <                                        eg,
321 >                                        eg,
322                                          Host.UDPUpdateTime
323                                          Otherwise it must
324                                          prefix requests
# Line 322 | Line 326 | Host         (direction) Server         Comment
326                                          All other requests
327                                          will be ignored as
328                                          if it was unable to
329 <                                        retieve the property
330 <                                        
329 >                                        retrieve the
330 >                                        property
331 >                                      
332               <---------- [{value}|ERROR]Returns the value of
333                                          the requested config
334                                          property
335                                          eg, 120
336                                          If it is unable to
337 <                                        find the requested
337 >                                        find the requested
338                                          property it returns
339                                          ERROR to indicate
340                                          that fact
341 <                                        
341 >                                      
342               ********** LOOP UNTIL **********
343               The loop continues until the client
344               sends the following message
345 <            
346 < [ENDCONFIG]  ---------->                Indicates that the
345 >            
346 > [ENDCONFIG]  ---------->                Indicates that the
347                                          client requires no
348                                          more config
349 <            
349 >            
350               ********** LOOP  END **********
351               Communication continues
352 <            
352 >            
353               <---------- [OK]           Indicates that the
354                                          server is ready to
355                                          proceed
# Line 353 | Line 358 | Host         (direction) Server         Comment
358   [STARTDATA]  ---------->                Tell the server we
359                                          want to start this
360                                          command
361 <            
361 >          
362               <---------- [{portnumber}  The server then sets
363                           |ERROR]        itself listening for
364                                          a connection on its
# Line 363 | Line 368 | Host         (direction) Server         Comment
368                                          that it is listening
369                                          on eg, 12367
370                                          If the data link is
371 <                                        yet to be started
372 <                                        the server will
373 <                                        return ERROR
374 <            
375 <             <---------- [OK]           Indicates the server
376 <                                        is ok to proceed and
377 <                                        the client can
378 <                                        then connect its
374 <                                        data link
371 >                                        already started the
372 >                                        server will return
373 >                                        ERROR
374 >            
375 >             <---------- [OK]           Indicates the client
376 >                                        has successfully
377 >                                        connected to the
378 >                                        data socket.
379  
380   <command #3> (tells the server to stop the data link)
381   [STOPDATA]   ---------->                Tell the server we
382                                          want to start this
383                                          command
384                                          The server then
385 <                                        shuts down the
385 >                                        shuts down the
386                                          data link to the
387                                          client
388  
# Line 394 | Line 398 | Host         (direction) Server         Comment
398                                          client wants to
399                                          close the control
400                                          link
401 <                                        
401 >                                      
402               <---------- [OK]           The last word from
403                                          the server, it will
404 <                                        disappear after this
404 >                                        disappear after
405 >                                        this, and close the
406 >                                        data link if
407 >                                        required
408   ------------------------------------------------------------
409  
410   v1.1 - Protocol identifier: "PROTOCOL 1.1" (without quotes)
# Line 411 | Line 418 | Host         (direction) Server         Comment
418   [SETHOSTLIST]---------->                Tell the server we
419                                          want to start this
420                                          command
421 <            
421 >            
422               <---------- [OK|ERROR]     The server will
423                                          return an ERROR if
424                                          the data link is
425                                          open, as a host list
426 <                                        must ONLY be set
426 >                                        must ONLY be set
427                                          if the data link is
428                                          closed
429                                          If the server is
# Line 431 | Line 438 | Host         (direction) Server         Comment
438                                          recieve data from
439                                          eg,
440          raptor.ukc.ac.uk;killigrew.ukc.ac.uk;chalk.ukc.ac.uk
441 <                                        
441 >                                      
442                                          If the list is sent
443                                          blank (or if no list
444                                          is set at all) then
445                                          data from ALL hosts
446                                          will be sent to the
447 <                                        client
448 <                                        
447 >                                        client (this is the
448 >                                        default if no
449 >                                        SETHOSTLIST is not
450 >                                        run by the client
451 >                                      
452               <---------- [OK]           Indicates the server
453                                          is ok to proceed and
454 <                                        the host list has
454 >                                        the host list has
455                                          been accepted
456   ------------------------------------------------------------
457  
458   Client Data Protocol
459   --------------------
460   Once the data link has been opened by the control link, the
461 < server will send XML formated data packets seperated by the
462 < \n (newline) character.  For information on the format of
461 > server will send XML formatted data packets separated by the
462 > \n (newline) character.  For information on the format of
463   this data see the XML via UDP specification document at:
464  
465 < http://www.i-scream.org.uk/cgi-bin/docs.cgi?doc=specificatio
456 < n/xml_via_udp.txt
465 > http://www.i-scream.org.uk/cgi-bin/docs.cgi?doc=specification/xml_via_udp.txt
466  
467   About
468   -----

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines