private static void PublisherCheck(IPublishPipelineMember p) { var token = new PublishToken(new MessageA(), new[] { new MockSubscription <MessageA>(), new MockSubscription <MessageA>() }); p.LookAt(token); token.Subscriptions.OfType <MockSubscription <MessageA> >().All(s => s.Received == 1).ShouldBeTrue(); }
public async Task PublishAsync(object message) { CheckDisposed(); var subs = _subscriber.GetSubscriptionsFor(message); var t = new PublishToken(message, subs); await _publishChainCasing.LookAtAsync(t); }
private static void pipelineSkeleton(object message, Action <IConfigurablePublishing> configuration) { var p = new PublishChainCasing(null).Configure(configuration); var token = new PublishToken(message, new ISubscription[] { }); p.LookAt(token); }
public void Publish(object message) { CheckDisposed(); var subs = _subscriber.GetSubscriptionsFor(message); var t = new PublishToken(message, subs); _publishChainCasing.LookAt(t); }
public void LookAt(PublishToken token) { Token = token; if (_cancelToken) { Token.Cancel = true; } }
public void publishes_message_fire_and_forget() { var p = new ParallelNonBlockingPublisher(); var evtBlock = new ManualResetEvent(false); var evtSignal = new ManualResetEvent(false); var evtSignal2 = new ManualResetEvent(false); var lockingSub = new MockSubscription <MessageA>(evtBlock, evtSignal); var runThroughSub = new MockSubscription <MessageA>(evtSignal: evtSignal2); var token = new PublishToken(new MessageA(), new[] { lockingSub, runThroughSub }); p.LookAt(token); lockingSub.Received.ShouldBeEqualTo(0); evtSignal2.WaitOne(); runThroughSub.Received.ShouldBeEqualTo(1); evtBlock.Set(); evtSignal.WaitOne(); lockingSub.Received.ShouldBeEqualTo(1); }
public void LookAt(PublishToken token) { _bus.Publish(_message); }
public void LookAt(PublishToken token) { _svc.EnsureActionOnDispatcher(() => _seq.LookAt(token)); }
public void LookAt(PublishToken token) { foreach (var s in token.Subscriptions) s.Push(token.Message); }