예제 #1
0
    async Task <bool> FirstMoveNext(CancellationToken cancellationToken)
    {
        try
        {
            _firstMoveNextCalled = true;
            if (await MoveNextSkippingPongsAndRecordMetrics(cancellationToken).ConfigureAwait(false))
            {
                FetchReverseCallArgumentsContextFromFirstMessage(_originalStream.Current);
                return(true);
            }

            ReverseCallArgumentsNotReceivedBecauseNoFirstMessage();
            return(false);
        }
        catch
        {
            ReverseCallContextNotReceivedInFirstMessage?.Invoke();
            throw;
        }
    }
예제 #2
0
 void ReverseCallArgumentsNotReceivedBecauseNoContextOnConnectArguments()
 {
     ReverseCallContextNotReceivedInFirstMessage?.Invoke();
     _logger.ReverseCallArgumentsNotReceivedBecauseNoFirstMessage(_requestId);
 }