]> mj.ucw.cz Git - eval.git/blob - submit/PROTOCOL
Document various error reporting functions.
[eval.git] / submit / PROTOCOL
1 Protocol spoken by the submit server
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
4 (1) Server sends "+OK\n" or "+TLS\n"
5
6 (2) TLS is started if requested
7
8 (3) Client sends hello, server replies
9
10 (4) Loop: client sends command, server replies
11
12 Except for the initial "+xxx" message, all requests and replies are simple objects
13 as handled by the Sherlock library. Each line starts with a single-character
14 attribute name followed by the value of the attribute, the object is terminated
15 by an empty line. Parentheses can delimit nested blocks.
16
17 Every reply contains either a "+" or "-" attribute denoting status (OK/failed).
18 The value of the attribute is a message for the user, which should not be
19 interpreted in any way.
20
21 Hello request:
22
23         Uusername
24
25 Hello reply:
26
27         (only status)
28
29 Submit request:
30
31         !SUBMIT
32         Ttask
33         Ppart                   <-- optional part ID
34         Ssize
35         Xextension
36         (after the request is ACK-ed, the client sends raw data and then server sends a 2nd reply)
37
38 Submit reply:
39
40         (only status)
41
42 Submit reply after data:
43
44         (only status)
45
46 Status request:
47
48         !STATUS
49
50 Status reply:
51
52         task status objects defined below with the following added:
53         (T
54                 Aallowed_extension
55         )
56
57 NOP request:
58
59         !NOP
60
61 NOP reply:
62
63         (only status)
64
65
66 Task status objects
67 ~~~~~~~~~~~~~~~~~~~
68 (T                              <-- task
69         Tname
70         (P                      <-- task part
71                 Pname
72                 Vid             <-- which version is current
73                 (V              <-- submitted version
74                         Vid
75                         Tsubmit_time
76                         Sstatus
77                         Lfilesize
78                         Hhash
79                         Xextension
80                 )
81         )
82 )