func (c *SubChannel) BeginCall(ctx context.Context, methodName string, callOptions *CallOptions) (*OutboundCall, error) {
	if callOptions == nil {
		callOptions = defaultCallOptions
	}

	peer, err := c.peers.Get(callOptions.RequestState.PrevSelectedPeers())
	if err != nil {
		return nil, err
	}

	return peer.BeginCall(ctx, c.ServiceName(), methodName, callOptions)
}
func (c *SubChannel) BeginCall(ctx context.Context, methodName string, callOptions *CallOptions) (*OutboundCall, error) {
	if callOptions == nil {
		callOptions = defaultCallOptions
	}

	peer, err := c.peers.Get(callOptions.RequestState.PrevSelectedPeers())
	if err != nil {
		return nil, err
	}

	return peer.BeginCall(ctx, c.ServiceName(), methodName, callOptions)
}
func ( c * SubChannel ) BeginCall ( ctx context . Context , methodName string , callOptions * CallOptions ) ( * OutboundCall , error ) { if callOptions == nil { callOptions = defaultCallOptions } peer , err := c . peers . Get ( callOptions . RequestState . PrevSelectedPeers ( ) ) if err != nil { return nil , err } return peer . BeginCall ( ctx , c . ServiceName ( ) , methodName , callOptions ) }
// BeginCall starts a new call to a remote peer, returning an OutboundCall that can
// be used to write the arguments of the call.
BeginCall starts a new call to a remote peer returning an OutboundCall that can be used to write the arguments of the call .