github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/rpc/netmap.go (about) 1 package rpc 2 3 import ( 4 "github.com/TrueCloudLab/frostfs-api-go/v2/netmap" 5 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/client" 6 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/common" 7 ) 8 9 const serviceNetmap = serviceNamePrefix + "netmap.NetmapService" 10 11 const ( 12 rpcNetmapNodeInfo = "LocalNodeInfo" 13 rpcNetmapNetInfo = "NetworkInfo" 14 rpcNetmapSnapshot = "NetmapSnapshot" 15 ) 16 17 // LocalNodeInfo executes NetmapService.LocalNodeInfo RPC. 18 func LocalNodeInfo( 19 cli *client.Client, 20 req *netmap.LocalNodeInfoRequest, 21 opts ...client.CallOption, 22 ) (*netmap.LocalNodeInfoResponse, error) { 23 resp := new(netmap.LocalNodeInfoResponse) 24 25 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceNetmap, rpcNetmapNodeInfo), req, resp, opts...) 26 if err != nil { 27 return nil, err 28 } 29 30 return resp, nil 31 } 32 33 // NetworkInfo executes NetmapService.NetworkInfo RPC. 34 func NetworkInfo( 35 cli *client.Client, 36 req *netmap.NetworkInfoRequest, 37 opts ...client.CallOption, 38 ) (*netmap.NetworkInfoResponse, error) { 39 resp := new(netmap.NetworkInfoResponse) 40 41 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceNetmap, rpcNetmapNetInfo), req, resp, opts...) 42 if err != nil { 43 return nil, err 44 } 45 46 return resp, nil 47 } 48 49 // NetMapSnapshot executes NetmapService.NetmapSnapshot RPC. 50 func NetMapSnapshot( 51 cli *client.Client, 52 req *netmap.SnapshotRequest, 53 opts ...client.CallOption, 54 ) (*netmap.SnapshotResponse, error) { 55 resp := new(netmap.SnapshotResponse) 56 57 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceNetmap, rpcNetmapSnapshot), req, resp, opts...) 58 if err != nil { 59 return nil, err 60 } 61 62 return resp, nil 63 }