private final RaftActor actor;
PekkoRaftStorage(final RaftActor actor, final CompressionSupport compression, final Configuration streamConfig) {
- super(compression, streamConfig);
+ super(actor, compression, streamConfig);
this.actor = requireNonNull(actor);
}
}
private final String memberId;
- private final ExecuteInSelfActor actor;
private final ActorRef actorRef;
- public DisabledRaftStorage(final String memberId, final ExecuteInSelfActor actor, final ActorRef actorRef,
+ public DisabledRaftStorage(final String memberId, final ExecuteInSelfActor executeInSelf, final ActorRef actorRef,
final CompressionSupport compression, final Configuration streamConfig) {
- super(compression, streamConfig);
+ super(executeInSelf, compression, streamConfig);
this.memberId = requireNonNull(memberId);
- this.actor = requireNonNull(actor);
this.actorRef = requireNonNull(actorRef);
}
@Override
public ExecuteInSelfActor actor() {
- return actor;
+ return executeInSelf;
}
@Override
package org.opendaylight.controller.cluster.raft.spi;
import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.opendaylight.controller.cluster.common.actor.ExecuteInSelfActor;
import org.opendaylight.controller.cluster.raft.RaftActor;
import org.opendaylight.raft.spi.CompressionSupport;
import org.opendaylight.raft.spi.FileBackedOutputStream.Configuration;
*/
@NonNullByDefault
public abstract non-sealed class EnabledRaftStorage extends RaftStorage {
- protected EnabledRaftStorage(final CompressionSupport compression, final Configuration streamConfig) {
- super(compression, streamConfig);
+ protected EnabledRaftStorage(final ExecuteInSelfActor executeInSelf, final CompressionSupport compression,
+ final Configuration streamConfig) {
+ super(executeInSelf, compression, streamConfig);
}
@Override
import java.util.concurrent.ThreadLocalRandom;
import java.util.function.BiConsumer;
import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.controller.cluster.common.actor.ExecuteInSelfActor;
import org.opendaylight.raft.spi.CompressionSupport;
import org.opendaylight.raft.spi.FileBackedOutputStream;
import org.opendaylight.raft.spi.FileBackedOutputStream.Configuration;
try {
result = compute();
} catch (Exception e) {
- callback.accept(null, e);
+ executeInSelf.executeInSelf(() -> callback.accept(null, e));
return;
}
- callback.accept(result, null);
+ executeInSelf.executeInSelf(() -> callback.accept(result, null));
}
abstract @NonNull T compute() throws Exception;
private final @NonNull CompressionSupport compression;
private final @NonNull Configuration streamConfig;
+ protected final @NonNull ExecuteInSelfActor executeInSelf;
+
private ExecutorService executor;
- protected RaftStorage(final CompressionSupport compression, final Configuration streamConfig) {
+ protected RaftStorage(final ExecuteInSelfActor executeInSelf, final CompressionSupport compression,
+ final Configuration streamConfig) {
+ this.executeInSelf = requireNonNull(executeInSelf);
this.compression = requireNonNull(compression);
this.streamConfig = requireNonNull(streamConfig);
}