package client import ( "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/util/proto/encoding" "google.golang.org/grpc" "google.golang.org/grpc/credentials" ) // Client represents client for exchanging messages // with a remote server using Protobuf RPC. type Client struct { cfg } // New creates, configures via options and returns new Client instance. func New(opts ...Option) *Client { var c Client c.initDefault() for _, opt := range opts { opt(&c.cfg) } c.grpcDialOpts = append(c.grpcDialOpts, grpc.WithDefaultCallOptions(grpc.ForceCodec(encoding.ProtoCodec{}))) if c.tlsCfg != nil { c.grpcDialOpts = append(c.grpcDialOpts, grpc.WithTransportCredentials(credentials.NewTLS(c.tlsCfg))) } return &c }