package dht;

//run `protoc --go_out=. *.proto` to generate

message DHTMessage {
	enum MessageType {
		PUT_VALUE = 0;
		GET_VALUE = 1;
		ADD_PROVIDER = 2;
		GET_PROVIDERS = 3;
		FIND_NODE = 4;
		PING = 5;
		DIAGNOSTIC = 6;
	}

	required MessageType type = 1;
	optional string key = 2;
	optional bytes value = 3;

	// Unique ID of this message, used to match queries with responses
	required uint64 id = 4;

	// Signals whether or not this message is a response to another message
	optional bool response = 5;
}