initialise repo
[debian/orchestra.git] / src / orchestra / orchestra.proto
1 package orchestra;
2
3 /* P->C : Provide Client Identity and negotiate other initial parameters */
4 message IdentifyClient {
5         required string         hostname = 1;
6 }
7
8 message ProtoJobParameter {
9         required string         key = 1;
10         required string         value = 2;
11 }
12
13 /* C->P : Do Shit kthxbye */
14 message ProtoTaskRequest {
15         required string         jobname = 1;
16         required uint64         id = 2;
17         repeated ProtoJobParameter      parameters = 3;
18 }
19
20 /* C->P, P->C : Acknowledge Message */
21 message ProtoAcknowledgement {
22         required uint64         id = 1;
23         enum AckType {
24                 ACK_OK = 1;
25                 ACK_ERROR = 3; /* Other Error */
26         }
27         required AckType        response = 2 [default=ACK_OK];
28 }
29
30 /* P->C : Results from Task */
31 message ProtoTaskResponse {
32         required uint64 id = 1;
33         enum TaskStatus {
34                 JOB_INPROGRESS = 2;     // Client has the job.
35                 JOB_SUCCESS = 3;        // everything was OK, we don't care.
36                 JOB_FAILED = 4;         // the job ran ok, but told us it blew up.
37                 JOB_HOST_FAILURE = 5;   // something internally blew up.
38                 JOB_UNKNOWN = 6;        // What Job?
39                 JOB_UNKNOWN_FAILURE = 7;// somethign went wrong, but we don't know what.
40         }
41         required TaskStatus status = 3;
42         repeated ProtoJobParameter response = 4;
43 }