[#263] Implement client for exchanging raw messages using gRPC protocol

Implement gRPC client that can uniformly execute any RPC on the remote
server. In the primary implementation, the client is a thin wrapper over
gRPC client connection that is required to create the client. In the future,
it is planned to expand the library with convenient functionality.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-03-12 14:17:16 +03:00 committed by Alex Vanin
parent ae2fb263f1
commit cf765a61a6
7 changed files with 271 additions and 0 deletions

13
rpc/grpc/util.go Normal file
View file

@ -0,0 +1,13 @@
package grpc
import (
"fmt"
"github.com/nspcc-dev/neofs-api-go/rpc/common"
)
const methodNameFmt = "%s/%s"
func toMethodName(p common.CallMethodInfo) string {
return fmt.Sprintf(methodNameFmt, p.Service, p.Name)
}