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  }