From 1affb7e4589b57d8f5f122730c82295ee295993e Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Wed, 17 Feb 2021 19:07:28 +0300 Subject: [PATCH] [#127] netmap: Define NetworkInfo rpc in NetmapService Define `NetworkInfo` rpc which can be used to read the recent NeoFS network information. Request body is empty, response body contains NetworkInfo message. Signed-off-by: Leonard Lyubich --- netmap/service.proto | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/netmap/service.proto b/netmap/service.proto index 329cbb9..9c2a8ed 100644 --- a/netmap/service.proto +++ b/netmap/service.proto @@ -20,6 +20,9 @@ service NetmapService { // present in `Network Map` to find out what API version can be used for // further communication. Can also be used to check if node is up and running. rpc LocalNodeInfo (LocalNodeInfoRequest) returns (LocalNodeInfoResponse); + + // Read recent information about the NeoFS network. + rpc NetworkInfo (NetworkInfoRequest) returns (NetworkInfoResponse); } // Get NodeInfo structure from the particular node directly @@ -62,3 +65,39 @@ message LocalNodeInfoResponse { // transmission. neo.fs.v2.session.ResponseVerificationHeader verify_header = 3; } + +message NetworkInfoRequest { + // NetworkInfo request body is empty. + message Body { + } + // Body of the NetworkInfo 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; +} + +message NetworkInfoResponse { + // Information about the network. + message Body { + // NetworkInfo structure with recent information. + NetworkInfo network_info = 1; + } + // Body of the NetworkInfo 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; +}