Exemple #1
0
        /// <summary>
        ///     Use custom, user defined interceptor.
        /// </summary>
        /// <param name="interceptor">User defined interceptor which implements <see cref="IJournalInterceptor"/> interface.</param>
        /// <exception cref="ArgumentNullException">When <paramref name="interceptor"/> is <c>null</c>.</exception>
        public Task SetInterceptorAsync(IJournalInterceptor interceptor)
        {
            if (interceptor == null)
            {
                throw new ArgumentNullException(nameof(interceptor));
            }

            return(Setter.SetInterceptorAsync(interceptor));
        }
Exemple #2
0
        protected override bool ReceivePluginInternal(object message)
        {
            switch (message)
            {
            case UseWriteInterceptor use:
                _writeInterceptor = use.Interceptor;
                Sender.Tell(Ack.Instance);
                return(true);

            case UseRecoveryInterceptor use:
                _recoveryInterceptor = use.Interceptor;
                Sender.Tell(Ack.Instance);
                return(true);

            default:
                return(base.ReceivePluginInternal(message));
            }
        }
Exemple #3
0
 public UseRecoveryInterceptor(IJournalInterceptor interceptor)
 {
     Interceptor = interceptor;
 }
Exemple #4
0
 public UseWriteInterceptor(IJournalInterceptor interceptor)
 {
     Interceptor = interceptor;
 }
Exemple #5
0
 public Task SetInterceptorAsync(IJournalInterceptor interceptor)
 => _journal.Ask <TestJournal.Ack>(
     new TestJournal.UseWriteInterceptor(interceptor),
     TimeSpan.FromSeconds(3)
     );
Exemple #6
0
 public OnType(Type messageType, IJournalInterceptor next)
 {
     _messageType = messageType;
     _next        = next;
 }
Exemple #7
0
 public OnCondition(Func <IPersistentRepresentation, bool> predicate, IJournalInterceptor next, bool negate = false)
 {
     _predicate = message => Task.FromResult(predicate(message));
     _next      = next;
     _negate    = negate;
 }
Exemple #8
0
 public OnCondition(Func <IPersistentRepresentation, Task <bool> > predicate, IJournalInterceptor next, bool negate = false)
 {
     _predicate = predicate;
     _next      = next;
     _negate    = negate;
 }
Exemple #9
0
 public Delay(TimeSpan delay, IJournalInterceptor next)
 {
     _delay = delay;
     _next  = next;
 }