/// <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)); }
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)); } }
public UseRecoveryInterceptor(IJournalInterceptor interceptor) { Interceptor = interceptor; }
public UseWriteInterceptor(IJournalInterceptor interceptor) { Interceptor = interceptor; }
public Task SetInterceptorAsync(IJournalInterceptor interceptor) => _journal.Ask <TestJournal.Ack>( new TestJournal.UseWriteInterceptor(interceptor), TimeSpan.FromSeconds(3) );
public OnType(Type messageType, IJournalInterceptor next) { _messageType = messageType; _next = next; }
public OnCondition(Func <IPersistentRepresentation, bool> predicate, IJournalInterceptor next, bool negate = false) { _predicate = message => Task.FromResult(predicate(message)); _next = next; _negate = negate; }
public OnCondition(Func <IPersistentRepresentation, Task <bool> > predicate, IJournalInterceptor next, bool negate = false) { _predicate = predicate; _next = next; _negate = negate; }
public Delay(TimeSpan delay, IJournalInterceptor next) { _delay = delay; _next = next; }