示例#1
0
        public async void Run(CancellationToken token, Func <IEvent, Task> dispatcher)
        {
            var reader = await _client.GetMessageReaderAsync(_stream);

            var pump = reader.CreatePump(token, 0, 100000, 0);

            pump.OnMessage(message => dispatcher(_deserializer(message.Value)));
        }
示例#2
0
        private async void Run(CancellationToken token, Func <IEvent, Task> dispatcher, Action <Exception> onError, Action onCompleted)
        {
            var current = _checkpointWriter.GetOrInitPosition();
            var reader  = await _client.GetMessageReaderAsync(_stream);

            Task.Factory.StartNew(() => FetchMessages(token, dispatcher, onError, onCompleted, reader, current)
                                  , TaskCreationOptions.LongRunning);
        }