Ejemplo n.º 1
0
        public void Connect(string clusterDns, int maxAttempts = 10, int port = 30777)
        {
            Ensure.NotNullOrEmpty(clusterDns, "clusterDns");
            Ensure.Positive(maxAttempts, "maxAttempts");
            Ensure.Nonnegative(port, "port");

            var task = ConnectAsync(clusterDns, maxAttempts, port);

            task.Wait();
        }
Ejemplo n.º 2
0
        public AllEventsSlice ReadAllEventsBackward(Position position, int maxCount)
        {
            Ensure.NotNull(position, "position");
            Ensure.Positive(maxCount, "maxCount");
            EnsureActive();

            var task = ReadAllEventsBackwardAsync(position, maxCount);

            task.Wait();
            return(task.Result);
        }
Ejemplo n.º 3
0
        public Task <AllEventsSlice> ReadAllEventsBackwardAsync(Position position, int maxCount)
        {
            Ensure.NotNull(position, "position");
            Ensure.Positive(maxCount, "maxCount");
            EnsureActive();

            var source    = new TaskCompletionSource <AllEventsSlice>();
            var operation = new ReadAllEventsBackwardOperation(source, Guid.NewGuid(), position, maxCount, true);

            EnqueueOperation(operation);
            return(source.Task);
        }
Ejemplo n.º 4
0
        public Task <EventStreamSlice> ReadEventStreamBackwardAsync(string stream, int start, int count)
        {
            Ensure.NotNullOrEmpty(stream, "stream");
            Ensure.Positive(count, "count");
            EnsureActive();

            var source    = new TaskCompletionSource <EventStreamSlice>();
            var operation = new ReadStreamEventsBackwardOperation(source, Guid.NewGuid(), stream, start, count, true);

            EnqueueOperation(operation);
            return(source.Task);
        }
Ejemplo n.º 5
0
        public EventStreamSlice ReadEventStreamBackward(string stream, int start, int count)
        {
            Ensure.NotNullOrEmpty(stream, "stream");
            Ensure.Positive(count, "count");
            EnsureActive();

            var task = ReadEventStreamBackwardAsync(stream, start, count);

            task.Wait();

            return(task.Result);
        }
Ejemplo n.º 6
0
        public static EventStoreConnection Create(bool allowForwarding        = true,
                                                  int maxConcurrentRequests   = 5000,
                                                  int maxAttemptsForOperation = 10,
                                                  int maxReconnections        = 10,
                                                  ILogger logger = null)
        {
            Ensure.Positive(maxConcurrentRequests, "maxConcurrentRequests");
            Ensure.Positive(maxAttemptsForOperation, "maxAttemptsForOperation");
            Ensure.Nonnegative(maxReconnections, "maxReconnections");

            return(new EventStoreConnection(allowForwarding,
                                            maxConcurrentRequests,
                                            maxAttemptsForOperation,
                                            maxReconnections,
                                            logger));
        }
Ejemplo n.º 7
0
        public Task ConnectAsync(string clusterDns, int maxAttempts = 10, int port = 30777)
        {
            Ensure.NotNullOrEmpty(clusterDns, "clusterDns");
            Ensure.Positive(maxAttempts, "maxAttempts");
            Ensure.Nonnegative(port, "port");

            var explorer = new ClusterExplorer(_allowForwarding, maxAttempts, port);

            return(explorer.Resolve(clusterDns)
                   .ContinueWith(t =>
            {
                var pair = t.Result;
                if (!pair.HasValue)
                {
                    throw new CannotEstablishConnectionException("Failed to find node to connect");
                }

                return EstablishConnectionAsync(pair.Value.TcpEndPoint, pair.Value.HttpEndPoint);
            }));
        }