2014-07-28 22:14:27 -07:00
|
|
|
package dht;
|
|
|
|
|
|
|
|
//run `protoc --go_out=. *.proto` to generate
|
|
|
|
|
2014-09-16 00:52:57 -07:00
|
|
|
message Message {
|
2014-07-28 22:14:27 -07:00
|
|
|
enum MessageType {
|
|
|
|
PUT_VALUE = 0;
|
|
|
|
GET_VALUE = 1;
|
2014-07-29 14:50:33 -07:00
|
|
|
ADD_PROVIDER = 2;
|
|
|
|
GET_PROVIDERS = 3;
|
|
|
|
FIND_NODE = 4;
|
|
|
|
PING = 5;
|
2014-07-28 22:14:27 -07:00
|
|
|
}
|
|
|
|
|
2014-09-16 00:52:57 -07:00
|
|
|
message Peer {
|
2014-10-15 12:30:52 -07:00
|
|
|
optional string id = 1;
|
|
|
|
optional string addr = 2;
|
2014-08-08 18:09:21 -07:00
|
|
|
}
|
|
|
|
|
2014-09-16 00:52:57 -07:00
|
|
|
// defines what type of message it is.
|
2014-10-15 12:30:52 -07:00
|
|
|
optional MessageType type = 1;
|
2014-09-16 00:52:57 -07:00
|
|
|
|
|
|
|
// defines what coral cluster level this query/response belongs to.
|
|
|
|
optional int32 clusterLevelRaw = 10;
|
|
|
|
|
|
|
|
// Used to specify the key associated with this message.
|
|
|
|
// PUT_VALUE, GET_VALUE, ADD_PROVIDER, GET_PROVIDERS
|
2014-07-28 22:14:27 -07:00
|
|
|
optional string key = 2;
|
2014-07-30 17:46:56 -07:00
|
|
|
|
2014-09-16 00:52:57 -07:00
|
|
|
// Used to return a value
|
|
|
|
// PUT_VALUE, GET_VALUE
|
|
|
|
optional bytes value = 3;
|
2014-07-30 17:46:56 -07:00
|
|
|
|
2014-09-16 00:52:57 -07:00
|
|
|
// Used to return peers closer to a key in a query
|
|
|
|
// GET_VALUE, GET_PROVIDERS, FIND_NODE
|
|
|
|
repeated Peer closerPeers = 8;
|
2014-08-08 18:09:21 -07:00
|
|
|
|
2014-09-16 00:52:57 -07:00
|
|
|
// Used to return Providers
|
|
|
|
// GET_VALUE, ADD_PROVIDER, GET_PROVIDERS
|
|
|
|
repeated Peer providerPeers = 9;
|
2014-07-28 22:14:27 -07:00
|
|
|
}
|