コード例 #1
0
 private void OnPrivateResponse(IDeliveryArgs response)
 {
     if (_privateResponseObserversByCorrelationId.TryGetValue(response.CorrelationId, out var targetObserver))
     {
         targetObserver.OnNext(response);
     }
 }
コード例 #2
0
 private bool IsValidResponse(IDeliveryArgs response)
 {
     if (response.From == this.Instance)
     {
         return(false);
     }
     return(true);
 }
コード例 #3
0
 public bool CanReceiveEventNotification(IDeliveryArgs args)
 {
     if (args == null)
     {
         throw new ArgumentNullException(nameof(args));
     }
     return(CanReceiveEventNotification(args.IntentId) && args.From != this.Instance);
 }
コード例 #4
0
        public bool TryCompleteWith(IDeliveryArgs reply)
        {
            if (reply.Dto is T result)
            {
                if (Interlocked.CompareExchange(ref _isCompleted, 1, 0) == 0)
                {
                    Result = result;
                }
            }

            return(Thread.VolatileRead(ref _isCompleted) == 1);
        }
コード例 #5
0
        protected virtual Task ProcessUnmappedMessageAsync(IDeliveryArgs args, CancellationToken cancellation)
        {
            cancellation.ThrowIfCancellationRequested();
            var logMessage = new StringBuilder($"No appropriate handler found for the incoming message.")
                             .Append($" Applet: {Channel.AppletName} ({Channel.AppletId})")
                             .Append($" Intent: {args.IntentName} ({args.IntentId})")
                             .ToString();

            Debug.Fail(logMessage);
            Trace.TraceError(logMessage);
            return(Task.CompletedTask);
        }
コード例 #6
0
 public Task ProcessOneAsync(IDeliveryArgs args, CancellationToken cancellation)
 {
     cancellation.ThrowIfCancellationRequested();
     return(_generalizedMessageHandler.Invoke(args, cancellation));
 }
コード例 #7
0
 private void InspectPrivateResponse(IDeliveryArgs obj)
 {
 }