Skip to content
Snippets Groups Projects
tapir-proto.proto 998 B
Newer Older
syntax = "proto2";

import "store/common/common-proto.proto";

package tapirstore.proto;

message GetMessage {
    required string key = 1;
    optional TimestampMessage timestamp = 2;
}

message PrepareMessage {
    required TransactionMessage txn = 1;
    optional TimestampMessage timestamp = 2;
}

message CommitMessage {
    required uint64 timestamp = 1;
}

message AbortMessage {
     required TransactionMessage txn = 1;
}

message Request {
     enum Operation {
          GET = 1;
          PREPARE = 2;
          COMMIT = 3;
          ABORT = 4;
     }	
     required Operation op = 1;
     required uint64 txnid = 2;
     optional GetMessage get = 3;
     optional PrepareMessage prepare = 4;
     optional CommitMessage commit = 5;
     optional AbortMessage abort = 6;
}

message Reply {
     // 0 = OK
     // -1 = failed
     // -2 = retry
     // -3 = abstain/no reply
     required int32 status = 1;
     optional string value = 2;
     optional TimestampMessage timestamp = 3;