public void Handle(ClientMessage.ReadEventsForwardCompleted message) { EventDistributionPoint distributionPoint; if (_distributionPoints.TryGetValue(message.CorrelationId, out distributionPoint)) { distributionPoint.Handle(message); } }
private static TcpPackage WrapReadEventsForwardCompleted(ClientMessage.ReadEventsForwardCompleted msg) { var dto = new ClientMessageDto.ReadEventsForwardCompleted(msg.CorrelationId, msg.EventStreamId, msg.Events, msg.LinkToEvents, msg.Result, msg.LastCommitPosition); return(new TcpPackage(TcpCommand.ReadEventsFromBeginningCompleted, msg.CorrelationId, dto.Serialize())); }
public override void Handle(ClientMessage.ReadEventsForwardCompleted message) { if (_disposed) { return; } if (!_eventsRequested) { throw new InvalidOperationException("Read events has not been requested"); } if (message.EventStreamId != _streamName) { throw new InvalidOperationException( string.Format("Invalid stream name: {0}. Expected: {1}", message.EventStreamId, _streamName)); } if (_paused) { throw new InvalidOperationException("Paused"); } _eventsRequested = false; switch (message.Result) { case RangeReadResult.NoStream: DeliverLastCommitPosition(message.LastCommitPosition.Value); // allow joining heading distribution RequestEvents(delay: true); break; case RangeReadResult.Success: if (message.Events.Length == 0) { // the end DeliverLastCommitPosition(message.LastCommitPosition.Value); } else { for (int index = 0; index < message.Events.Length; index++) { var @event = message.Events[index]; var @link = message.LinkToEvents != null ? message.LinkToEvents[index] : null; DeliverEvent(@event, @link); } } if (_pauseRequested) { _paused = true; } else if (message.Events.Length == 0) { RequestEvents(delay: true); } else { _publisher.Publish(CreateTickMessage()); } break; default: throw new NotSupportedException( string.Format("ReadEvents result code was not recognized. Code: {0}", message.Result)); } }
public override void Handle(ClientMessage.ReadEventsForwardCompleted message) { }