syntax = "proto3"; // Database message definition from: // https://github.com/bluzelle/swarmDB/blob/devel/proto/database.proto message database_msg { database_header header = 2; oneof msg { database_create create = 10; database_read read = 11; database_update update = 12; database_delete delete = 13; database_has has = 14; database_empty keys = 15; database_empty size = 16; } } message database_redirect_response { string leader_id = 1; string leader_name = 2; string leader_host = 3; uint32 leader_port = 4; uint32 leader_http_port = 5; } message database_header { string db_uuid = 1; uint64 transaction_id = 2; } message database_create { string key = 2; bytes value = 3; } message database_read { string key = 2; } message database_update { string key = 2; bytes value = 3; } message database_delete { string key = 2; } message database_has { string key = 2; } message database_empty {} message database_response { database_header header = 1; oneof success { database_redirect_response redirect = 2; response resp = 3; } message response { bytes value = 4; bool has = 5; int32 size = 6; string error = 7; repeated string keys = 8; } }