public void Handle(ReaderSubscriptionMessage.CommittedEventDistributed message) { Guid projectionId; if (_stopped) { return; } if (_runHeadingReader && _headingEventReader.Handle(message)) { return; } if (!_eventReaderSubscriptions.TryGetValue(message.CorrelationId, out projectionId)) { return; // unsubscribed } if (TrySubscribeHeadingEventReader(message, projectionId)) { return; } if (message.Data != null) // means notification about the end of the stream/source { _subscriptions[projectionId].Handle(message); } }
public void setup() { _exception = null; try { _point = new HeadingEventReader(10); } catch (Exception ex) { _exception = ex; } _distibutionPointCorrelationId = Guid.NewGuid(); _point.Start( _distibutionPointCorrelationId, new TransactionFileEventReader( _bus, _distibutionPointCorrelationId, new EventPosition(0, -1), new RealTimeProvider())); _point.Handle( new ProjectionCoreServiceMessage.CommittedEventDistributed( _distibutionPointCorrelationId, new EventPosition(20, 10), "stream", 10, false, ResolvedEvent.Sample(Guid.NewGuid(), "type", false, new byte[0], new byte[0]))); _point.Handle( new ProjectionCoreServiceMessage.CommittedEventDistributed( _distibutionPointCorrelationId, new EventPosition(40, 30), "stream", 11, false, ResolvedEvent.Sample(Guid.NewGuid(), "type", false, new byte[0], new byte[0]))); _subscription = new FakeProjectionSubscription(); _projectionSubscriptionId = Guid.NewGuid(); var subscribed = _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30); Assert.IsTrue(subscribed); // ensure we really unsubscribing.. even if it is tested elsewhere _point.Unsubscribe(_projectionSubscriptionId); }
public void Handle(ReaderSubscriptionMessage.CommittedEventDistributed message) { Guid projectionId; if (_stopped) { return; } if (_runHeadingReader && _headingEventReader.Handle(message)) { return; } if (!_eventReaderSubscriptions.TryGetValue(message.CorrelationId, out projectionId)) { return; // unsubscribed } if (TrySubscribeHeadingEventReader(message, projectionId)) { return; } if (message.Data != null) { try { _subscriptions[projectionId].Handle(message); } catch (Exception ex) { var subscription = _subscriptions[projectionId]; Handle(new ReaderSubscriptionManagement.Unsubscribe(subscription.SubscriptionId)); _publisher.Publish(new EventReaderSubscriptionMessage.Failed(subscription.SubscriptionId, string.Format("The subscription failed to handle an event {0}:{1}@{2} because {3}", message.Data.EventStreamId, message.Data.EventType, message.Data.EventSequenceNumber, ex.Message))); } } }
public void setup() { //_exception = null; try { _point = new HeadingEventReader(10); } catch (Exception) { //_exception = ex; } _distibutionPointCorrelationId = Guid.NewGuid(); _point.Start( _distibutionPointCorrelationId, new TransactionFileEventReader( _ioDispatcher, _bus, _distibutionPointCorrelationId, null, new TFPos(0, -1), new RealTimeProvider())); DateTime timestamp = DateTime.UtcNow; _point.Handle( ReaderSubscriptionMessage.CommittedEventDistributed.Sample( _distibutionPointCorrelationId, new TFPos(20, 10), "stream", 10, false, Guid.NewGuid(), "type", false, new byte[0], new byte[0], timestamp)); _point.Handle( ReaderSubscriptionMessage.CommittedEventDistributed.Sample( _distibutionPointCorrelationId, new TFPos(40, 30), "stream", 11, false, Guid.NewGuid(), "type", false, new byte[0], new byte[0], timestamp.AddMilliseconds(1))); _subscription = new FakeReaderSubscription(); _projectionSubscriptionId = Guid.NewGuid(); _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30); _point.Handle( new ReaderSubscriptionMessage.EventReaderIdle( _distibutionPointCorrelationId, timestamp.AddMilliseconds(1100))); }
public void setup() { _exception = null; try { _point = new HeadingEventReader(10); } catch (Exception ex) { _exception = ex; } Assume.That(_exception == null); _distibutionPointCorrelationId = Guid.NewGuid(); _point.Start( _distibutionPointCorrelationId, new TransactionFileEventReader(_bus, _distibutionPointCorrelationId, null, new TFPos(0, -1), new RealTimeProvider())); _point.Handle( ReaderSubscriptionMessage.CommittedEventDistributed.Sample( _distibutionPointCorrelationId, new TFPos(20, 10), "stream", 10, false, Guid.NewGuid(), "type", false, new byte[0], new byte[0])); _point.Handle( ReaderSubscriptionMessage.CommittedEventDistributed.Sample( _distibutionPointCorrelationId, new TFPos(40, 30), "stream", 11, false, Guid.NewGuid(), "type", false, new byte[0], new byte[0])); _subscription = new FakeReaderSubscription(); _projectionSubscriptionId = Guid.NewGuid(); _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30); _point.Handle( ReaderSubscriptionMessage.CommittedEventDistributed.Sample( _distibutionPointCorrelationId, new TFPos(60, 50), "stream", 12, false, Guid.NewGuid(), "type", false, new byte[0], new byte[0])); }
public void setup() { _exception = null; try { _point = new HeadingEventReader(10); } catch (Exception ex) { _exception = ex; } _distibutionPointCorrelationId = Guid.NewGuid(); _point.Start( _distibutionPointCorrelationId, new TransactionFileEventReader( _bus, _distibutionPointCorrelationId, new EventPosition(0, -1), new RealTimeProvider())); DateTime timestamp = DateTime.UtcNow; _point.Handle( new ProjectionCoreServiceMessage.CommittedEventDistributed( _distibutionPointCorrelationId, new EventPosition(20, 10), "stream", 10, false, ResolvedEvent.Sample(Guid.NewGuid(), "type", false, new byte[0], new byte[0], timestamp))); _point.Handle( new ProjectionCoreServiceMessage.CommittedEventDistributed( _distibutionPointCorrelationId, new EventPosition(40, 30), "stream", 11, false, ResolvedEvent.Sample(Guid.NewGuid(), "type", false, new byte[0], new byte[0], timestamp.AddMilliseconds(1)))); _subscription = new FakeProjectionSubscription(); _projectionSubscriptionId = Guid.NewGuid(); var subscribed = _point.TrySubscribe(_projectionSubscriptionId, _subscription, 30); _point.Handle( new ProjectionCoreServiceMessage.EventReaderIdle( _distibutionPointCorrelationId, timestamp.AddMilliseconds(1100))); }
public void setup() { _exception = null; try { _point = new HeadingEventReader(10); } catch (Exception ex) { _exception = ex; } _distibutionPointCorrelationId = Guid.NewGuid(); _point.Start( _distibutionPointCorrelationId, new TransactionFileEventReader( _ioDispatcher, _bus, _distibutionPointCorrelationId, null, new TFPos(0, -1), new RealTimeProvider())); _point.Handle( ReaderSubscriptionMessage.CommittedEventDistributed.Sample( _distibutionPointCorrelationId, new TFPos(20, 10), "stream", 10, false, Guid.NewGuid(), "type", false, new byte[0], new byte[0])); }
public void setup() { _exception = null; try { _point = new HeadingEventReader(10); } catch (Exception ex) { _exception = ex; } _distibutionPointCorrelationId = Guid.NewGuid(); _point.Start( _distibutionPointCorrelationId, new TransactionFileEventReader( _bus, _distibutionPointCorrelationId, new EventPosition(0, -1), new RealTimeProvider())); _point.Handle( new ProjectionCoreServiceMessage.CommittedEventDistributed( _distibutionPointCorrelationId, new EventPosition(20, 10), "stream", 10, false, ResolvedEvent.Sample(Guid.NewGuid(), "type", false, new byte[0], new byte[0]))); }