package object import ( "context" "github.com/multiformats/go-multiaddr" "github.com/nspcc-dev/neofs-api-go/object" "github.com/nspcc-dev/neofs-node/pkg/network/peers" "github.com/pkg/errors" ) type ( remoteService struct { ps peers.Interface } ) // NewRemoteService is a remote service controller's constructor. func NewRemoteService(ps peers.Interface) RemoteService { return &remoteService{ ps: ps, } } func (rs remoteService) Remote(ctx context.Context, addr multiaddr.Multiaddr) (object.ServiceClient, error) { con, err := rs.ps.GRPCConnection(ctx, addr) if err != nil { return nil, errors.Wrapf(err, "remoteService.Remote failed on GRPCConnection to %s", addr) } return object.NewServiceClient(con), nil }