Example #1
0
 public override void OnUnsubscribing(ISubscriberResult subscription)
 {
     if (!_byeItem.Equals(default(T)))
     {
         subscription.WriteAsync(_byeItem, CancellationToken.None);
     }
 }
Example #2
0
        public static SubscriptionResult MapSourceToResponseEventAsync(
            IExecutorContext context,
            ISubscriberResult subscriberResult,
            OperationDefinition subscription,
            IReadOnlyDictionary <string, object?> coercedVariableValues,
            Func <Exception, ExecutionError> formatError,
            CancellationToken cancellationToken)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (subscriberResult == null)
            {
                throw new ArgumentNullException(nameof(subscriberResult));
            }
            if (subscription == null)
            {
                throw new ArgumentNullException(nameof(subscription));
            }
            if (coercedVariableValues == null)
            {
                throw new ArgumentNullException(nameof(coercedVariableValues));
            }
            if (formatError == null)
            {
                throw new ArgumentNullException(nameof(formatError));
            }

            var responseStream = Channel.CreateUnbounded <ExecutionResult>();
            var reader         = subscriberResult.Reader;

            // execute event
            var _ = reader.TransformAndWriteTo(responseStream, item => ExecuteSubscriptionEventAsync(
                                                   context,
                                                   subscription,
                                                   coercedVariableValues,
                                                   item,
                                                   formatError));

            return(new SubscriptionResult(responseStream));
        }
 public override void OnSubscribed(ISubscriberResult subscription)
 {
     subscription.WriteAsync("value", CancellationToken.None)
     .AsTask()
     .Wait();
 }
Example #4
0
 public virtual void OnUnsubscribing(ISubscriberResult subscription)
 {
 }
Example #5
0
 public virtual void OnSubscribed(ISubscriberResult subscription)
 {
 }