Exemple #1
0
 public void Complete(StreamCompleteMessage message)
 {
     _lookup.TryRemove(message.StreamId, out var converter);
     if (converter == null)
     {
         throw new KeyNotFoundException($"No stream with id '{message.StreamId}' could be found.");
     }
     converter.TryComplete(message.HasError ? new Exception(message.Error) : null);
 }
Exemple #2
0
        private Task ProcessStreamBindingFailure(HubConnectionContext connection, StreamBindingFailureMessage bindingFailureMessage)
        {
            var errorString = ErrorMessageHelper.BuildErrorMessage(
                $"Failed to bind Stream Item arguments to proper type.",
                bindingFailureMessage.BindingFailure.SourceException, _enableDetailedErrors);

            var message = new StreamCompleteMessage(bindingFailureMessage.Id, errorString);

            Log.ClosingStreamWithBindingError(_logger, message);
            connection.StreamTracker.Complete(message);

            return(Task.CompletedTask);
        }
 public static void ClosingStreamWithBindingError(ILogger logger, StreamCompleteMessage message)
 {
     _closingStreamWithBindingError(logger, message.StreamId, message.Error, null);
 }
 public static void CompletingStream(ILogger logger, StreamCompleteMessage message)
 {
     _completingStream(logger, message.StreamId, null);
 }
 private bool StreamCompleteMessagesEqual(StreamCompleteMessage x, StreamCompleteMessage y)
 {
     return(x.StreamId == y.StreamId &&
            y.Error == y.Error);
 }