package orchestra; /* P->C : Provide Client Identity and negotiate other initial parameters */ message IdentifyClient { required string hostname = 1; } message ProtoJobParameter { required string key = 1; required string value = 2; } /* C->P : Do Shit kthxbye */ message ProtoTaskRequest { required string jobname = 1; required uint64 id = 2; repeated ProtoJobParameter parameters = 3; } /* C->P, P->C : Acknowledge Message */ message ProtoAcknowledgement { required uint64 id = 1; enum AckType { ACK_OK = 1; ACK_ERROR = 3; /* Other Error */ } required AckType response = 2 [default=ACK_OK]; } /* P->C : Results from Task */ message ProtoTaskResponse { required uint64 id = 1; enum TaskStatus { JOB_INPROGRESS = 2; // Client has the job. JOB_SUCCESS = 3; // everything was OK, we don't care. JOB_FAILED = 4; // the job ran ok, but told us it blew up. JOB_HOST_FAILURE = 5; // something internally blew up. JOB_UNKNOWN = 6; // What Job? JOB_UNKNOWN_FAILURE = 7;// somethign went wrong, but we don't know what. } required TaskStatus status = 3; repeated ProtoJobParameter response = 4; }