github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/rpc/client/client.go (about) 1 package client 2 3 import ( 4 "google.golang.org/grpc" 5 "google.golang.org/grpc/credentials" 6 ) 7 8 // Client represents client for exchanging messages 9 // with a remote server using Protobuf RPC. 10 type Client struct { 11 cfg 12 } 13 14 // New creates, configures via options and returns new Client instance. 15 func New(opts ...Option) *Client { 16 var c Client 17 c.initDefault() 18 19 for _, opt := range opts { 20 opt(&c.cfg) 21 } 22 23 if c.tlsCfg != nil { 24 c.grpcDialOpts = append(c.grpcDialOpts, grpc.WithTransportCredentials(credentials.NewTLS(c.tlsCfg))) 25 } 26 27 return &c 28 }