public override void OnUnsubscribing(ISubscriberResult subscription) { if (!_byeItem.Equals(default(T))) { subscription.WriteAsync(_byeItem, CancellationToken.None); } }
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(); }
public virtual void OnUnsubscribing(ISubscriberResult subscription) { }
public virtual void OnSubscribed(ISubscriberResult subscription) { }