[#59] netmap: Add LocalNodeInfo request

This should be used as a handshake to know API Version supported by peer and to
update local netmap view in future.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
This commit is contained in:
Stanislav Bogatyrev 2020-09-03 12:19:02 +03:00 committed by Stanislav Bogatyrev
parent b169954806
commit eab2210ffe
2 changed files with 146 additions and 0 deletions

57
netmap/service.proto Normal file
View file

@ -0,0 +1,57 @@
syntax = "proto3";
package neo.fs.v2.netmap;
option go_package = "github.com/nspcc-dev/neofs-api-go/v2/netmap/grpc;netmap";
option csharp_namespace = "NeoFS.API.v2.Netmap";
import "netmap/types.proto";
import "refs/types.proto";
import "session/types.proto";
// Methods to work with NetworkMap
service NetmapService {
// Return information about Node
rpc LocalNodeInfo (LocalNodeInfoRequest) returns (LocalNodeInfoResponse);
}
// Get NodeInfo from the particular node directly
message LocalNodeInfoRequest {
//Request body
message Body {
}
// Body of the balance request message.
Body body = 1;
// Carries request meta information. Header data is used only to regulate
// message transport and does not affect request execution.
neo.fs.v2.session.RequestMetaHeader meta_header = 2;
// Carries request verification information. This header is used to
// authenticate the nodes of the message route and check the correctness
// of transmission.
neo.fs.v2.session.RequestVerificationHeader verify_header = 3;
}
// Local nod Info, including API Version in use
message LocalNodeInfoResponse {
//Response body
message Body {
// API version in use
neo.fs.v2.refs.Version version = 1;
// NodeInfo from node itself
NodeInfo node_info = 2;
}
// Body of the balance response message.
Body body = 1;
// Carries response meta information. Header data is used only to regulate
// message transport and does not affect response execution.
neo.fs.v2.session.ResponseMetaHeader meta_header = 2;
// Carries response verification information. This header is used to
// authenticate the nodes of the message route and check the correctness
// of transmission.
neo.fs.v2.session.ResponseVerificationHeader verify_header = 3;
}