view example_clusterrpc/proto/consensus.proto @ 34:8fa310d9bb1d

Track mastership better, listen on generic port
author Lewin Bormann <lbo@spheniscida.de>
date Wed, 24 Jul 2019 15:10:36 +0200
parents 7f084f715214
children 7a6db8262f43
line wrap: on
line source

package proto;

message Error {
    optional string error = 1;
    optional string type = 2;
}

message Change {
    optional bytes change = 1;
}

message Member {
    optional string address = 1;
}

message Version {
    required uint64 instance = 1;
    required uint64 sequence = 2;
}

message GenericResponse {
    required bool accepted = 1;
    optional Error error = 2;
}

message PrepareRequest {
    required uint64 instance = 1;
    required Member master = 2;
}

message PrepareResponse {
    required uint64 instance = 1;
    optional Error error = 2;
}

message AcceptRequest {
    required Version version = 1;
    repeated Change changes = 2;
}

message AddMemberRequest {
    required Version version = 1;
    required Member member = 2;
}

message RemoveMemberRequest {
    required Version version = 1;
    required Member member = 2;
}

message StartParticipation {
    required Version version = 1;
    required string cluster = 2;
    required Member self = 3;
    required Member master = 4;
    repeated Member members = 5;
    required bytes snapshot = 6;
}

message SubmitRequest {
    repeated Change changes = 1;
}