protected override TcpPackage CreateSubscriptionPackage() { var dto = new ClientMessage.SubscribeToStream(_streamId, _resolveLinkTos); return _userCredentials?.AuthToken != null ? new TcpPackage( TcpCommand.SubscribeToStream, TcpFlags.Authenticated, _correlationId, _userCredentials.AuthToken, dto.Serialize()) : new TcpPackage( TcpCommand.SubscribeToStream, _userCredentials != null ? TcpFlags.Authenticated : TcpFlags.None, _correlationId, _userCredentials?.Username, _userCredentials?.Password, dto.Serialize()); }
private TcpPackage CreateSubscriptionPackage() { var dto = new ClientMessage.SubscribeToStream(_streamId, _resolveLinkTos); return(new TcpPackage(TcpCommand.SubscribeToStream, _userCredentials != null ? TcpFlags.Authenticated : TcpFlags.None, _correlationId, _userCredentials != null ? _userCredentials.Login : null, _userCredentials != null ? _userCredentials.Password : null, dto.Serialize())); }
public Task Subscribe(string stream, Action <RecordedEvent, Position> eventAppeared, Action subscriptionDropped) { var id = Guid.NewGuid(); var source = new TaskCompletionSource <object>(); if (_subscriptions.TryAdd(id, new Subscription(source, id, stream, eventAppeared, subscriptionDropped))) { var subscribe = new ClientMessage.SubscribeToStream(stream); var pkg = new TcpPackage(TcpCommand.SubscribeToStream, id, subscribe.Serialize()); _connection.EnqueueSend(pkg.AsByteArray()); } else { source.SetException(new Exception("Failed to add subscription. Concurrency failure.")); } return(source.Task); }