Example #1
0
        /// <summary>
        /// Replays all events with given tag withing provided boundaries from current database.
        /// </summary>
        /// <param name="replay">TBD</param>
        /// <returns>TBD</returns>
        protected virtual async Task <long> ReplayTaggedMessagesAsync(ReplayTaggedMessages replay)
        {
            using (var connection = CreateDbConnection())
            {
                await connection.OpenAsync();

                return(await QueryExecutor
                       .SelectByTagAsync(connection, _pendingRequestsCancellation.Token, replay.Tag, replay.FromOffset, replay.ToOffset, replay.Max, replayedTagged => {
                    foreach (var adapted in AdaptFromJournal(replayedTagged.Persistent))
                    {
                        replay.ReplyTo.Tell(new ReplayedTaggedMessage(adapted, replayedTagged.Tag, replayedTagged.Offset), ActorRefs.NoSender);
                    }
                }));
            }
        }
Example #2
0
 /// <summary>
 /// Replays all events with given tag withing provided boundaries from current database.
 /// </summary>
 protected virtual async Task<long> ReplayTaggedMessagesAsync(ReplayTaggedMessages replay)
 {
     using (var connection = CreateDbConnection())
     {
         await connection.OpenAsync();
         return await QueryExecutor
             .SelectByTagAsync(connection, _pendingRequestsCancellation.Token, replay.Tag, replay.FromOffset, replay.ToOffset, replay.Max, replayedTagged => {
                 foreach(var adapted in AdaptFromJournal(replayedTagged.Persistent))
                 { 
                     replay.ReplyTo.Tell(new ReplayedTaggedMessage(adapted, replayedTagged.Tag, replayedTagged.Offset), ActorRefs.NoSender);
                 }
             });
     }
 }