public ReadStreamForwards(IPublisher bus, string streamName, StreamRevision startRevision, ulong maxCount, bool resolveLinks, ClaimsPrincipal user, bool requiresLeader, DateTime deadline, ReadReq.Types.Options.Types.UUIDOption uuidOption, uint compatibility, CancellationToken cancellationToken) { _bus = bus ?? throw new ArgumentNullException(nameof(bus)); _streamName = streamName ?? throw new ArgumentNullException(nameof(streamName)); _maxCount = maxCount; _resolveLinks = resolveLinks; _user = user; _requiresLeader = requiresLeader; _deadline = deadline; _uuidOption = uuidOption; _compatibility = compatibility; _cancellationToken = cancellationToken; _semaphore = new SemaphoreSlim(1, 1); _channel = Channel.CreateBounded <ReadResp>(BoundedChannelOptions); ReadPage(startRevision); }
public ReadAllBackwards(IPublisher bus, Position position, ulong maxCount, bool resolveLinks, ClaimsPrincipal user, bool requiresLeader, DateTime deadline, ReadReq.Types.Options.Types.UUIDOption uuidOption, CancellationToken cancellationToken) { if (bus == null) { throw new ArgumentNullException(nameof(bus)); } _bus = bus; _maxCount = maxCount; _resolveLinks = resolveLinks; _user = user; _requiresLeader = requiresLeader; _deadline = deadline; _uuidOption = uuidOption; _cancellationToken = cancellationToken; _semaphore = new SemaphoreSlim(1, 1); _channel = Channel.CreateBounded <ReadResp>(BoundedChannelOptions); ReadPage(position); }
public AllSubscriptionFiltered(IPublisher bus, Position?startPosition, bool resolveLinks, IEventFilter eventFilter, ClaimsPrincipal user, bool requiresLeader, IReadIndex readIndex, uint?maxSearchWindow, uint checkpointIntervalMultiplier, ReadReq.Types.Options.Types.UUIDOption uuidOption, CancellationToken cancellationToken) { if (bus == null) { throw new ArgumentNullException(nameof(bus)); } if (eventFilter == null) { throw new ArgumentNullException(nameof(eventFilter)); } if (readIndex == null) { throw new ArgumentNullException(nameof(readIndex)); } if (checkpointIntervalMultiplier == 0) { throw new ArgumentOutOfRangeException(nameof(checkpointIntervalMultiplier)); } _subscriptionId = Guid.NewGuid(); _bus = bus; _resolveLinks = resolveLinks; _eventFilter = eventFilter; _user = user; _requiresLeader = requiresLeader; _readIndex = readIndex; _maxSearchWindow = maxSearchWindow ?? ReadBatchSize; _uuidOption = uuidOption; _cancellationToken = cancellationToken; _subscriptionStarted = 0; _channel = Channel.CreateBounded <ReadResp>(BoundedChannelOptions); _checkpointInterval = checkpointIntervalMultiplier * _maxSearchWindow; _semaphore = new SemaphoreSlim(1, 1); SubscriptionId = _subscriptionId.ToString(); _currentPosition = null; Subscribe(startPosition); }
private static ReadResp.Types.ReadEvent.Types.RecordedEvent ConvertToRecordedEvent( ReadReq.Types.Options.Types.UUIDOption uuidOption, EventRecord e, long?commitPosition, long?preparePosition) { if (e == null) { return(null); } var position = Position.FromInt64(commitPosition ?? -1, preparePosition ?? -1); return(new ReadResp.Types.ReadEvent.Types.RecordedEvent { Id = uuidOption.ContentCase switch { ReadReq.Types.Options.Types.UUIDOption.ContentOneofCase.String => new UUID { String = e.EventId.ToString() }, _ => Uuid.FromGuid(e.EventId).ToDto() },
public ReadAllForwardsFiltered(IPublisher bus, Position position, ulong maxCount, bool resolveLinks, IEventFilter eventFilter, ClaimsPrincipal user, bool requiresLeader, IReadIndex readIndex, uint?maxSearchWindow, DateTime deadline, ReadReq.Types.Options.Types.UUIDOption uuidOption, CancellationToken cancellationToken) { if (bus == null) { throw new ArgumentNullException(nameof(bus)); } if (eventFilter == null) { throw new ArgumentNullException(nameof(eventFilter)); } if (readIndex == null) { throw new ArgumentNullException(nameof(readIndex)); } _bus = bus; _maxCount = maxCount; _resolveLinks = resolveLinks; _eventFilter = eventFilter; _user = user; _requiresLeader = requiresLeader; _readIndex = readIndex; _maxSearchWindow = maxSearchWindow ?? ReadBatchSize; _deadline = deadline; _uuidOption = uuidOption; _cancellationToken = cancellationToken; _semaphore = new SemaphoreSlim(1, 1); _channel = Channel.CreateBounded <ReadResp>(BoundedChannelOptions); ReadPage(position); }
public AllSubscription(IPublisher bus, Position?startPosition, bool resolveLinks, ClaimsPrincipal user, bool requiresLeader, IReadIndex readIndex, ReadReq.Types.Options.Types.UUIDOption uuidOption, CancellationToken cancellationToken) { if (bus == null) { throw new ArgumentNullException(nameof(bus)); } if (readIndex == null) { throw new ArgumentNullException(nameof(readIndex)); } _subscriptionId = Guid.NewGuid(); _bus = bus; _resolveLinks = resolveLinks; _user = user; _requiresLeader = requiresLeader; _readIndex = readIndex; _uuidOption = uuidOption; _cancellationToken = cancellationToken; _channel = Channel.CreateBounded <ReadResp>(BoundedChannelOptions); _semaphore = new SemaphoreSlim(1, 1); _subscriptionStarted = 0; SubscriptionId = _subscriptionId.ToString(); Subscribe(startPosition); }