Skip to content

Commit

Permalink
Remove ManagedRaft interface.
Browse files Browse the repository at this point in the history
  • Loading branch information
kuujo committed Jul 27, 2015
1 parent c393bf1 commit 93a7c97
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 36 deletions.
Expand Up @@ -20,6 +20,7 @@
import net.kuujo.copycat.raft.*; import net.kuujo.copycat.raft.*;
import net.kuujo.copycat.raft.client.state.ClientContext; import net.kuujo.copycat.raft.client.state.ClientContext;
import net.kuujo.copycat.transport.Transport; import net.kuujo.copycat.transport.Transport;
import net.kuujo.copycat.util.Managed;
import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.Context;


import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
Expand All @@ -30,7 +31,7 @@
* *
* @author <a href="http://github.com/kuujo">Jordan Halterman</a> * @author <a href="http://github.com/kuujo">Jordan Halterman</a>
*/ */
public class RaftClient implements ManagedRaft { public class RaftClient implements Raft, Managed<Raft> {


/** /**
* Returns a new Raft client builder. * Returns a new Raft client builder.
Expand Down
22 changes: 14 additions & 8 deletions core/src/main/java/net/kuujo/copycat/Copycat.java
Expand Up @@ -15,8 +15,10 @@
*/ */
package net.kuujo.copycat; package net.kuujo.copycat;


import net.kuujo.copycat.manager.*; import net.kuujo.copycat.manager.CreatePath;
import net.kuujo.copycat.raft.ManagedRaft; import net.kuujo.copycat.manager.CreateResource;
import net.kuujo.copycat.manager.DeletePath;
import net.kuujo.copycat.manager.PathExists;
import net.kuujo.copycat.raft.Raft; import net.kuujo.copycat.raft.Raft;
import net.kuujo.copycat.raft.server.StateMachine; import net.kuujo.copycat.raft.server.StateMachine;
import net.kuujo.copycat.resource.ResourceProtocol; import net.kuujo.copycat.resource.ResourceProtocol;
Expand All @@ -35,13 +37,13 @@
*/ */
public abstract class Copycat implements Managed<Copycat> { public abstract class Copycat implements Managed<Copycat> {
static final String PATH_SEPARATOR = "/"; static final String PATH_SEPARATOR = "/";
protected final ManagedRaft raft; protected final Raft raft;
private final Map<Class<? extends Resource>, Class<? extends StateMachine>> typeCache = new ConcurrentHashMap<>(); private final Map<Class<? extends Resource>, Class<? extends StateMachine>> typeCache = new ConcurrentHashMap<>();
private final Map<String, Node> nodes = new ConcurrentHashMap<>(); private final Map<String, Node> nodes = new ConcurrentHashMap<>();
private final ResourceFactory factory = new ResourceFactory(); private final ResourceFactory factory = new ResourceFactory();
private final Map<Long, ResourceProtocol> resources = new ConcurrentHashMap<>(); private final Map<Long, ResourceProtocol> resources = new ConcurrentHashMap<>();


protected Copycat(ManagedRaft raft) { protected <T extends Raft & Managed<Raft>> Copycat(T raft) {
this.raft = raft; this.raft = raft;
} }


Expand Down Expand Up @@ -124,23 +126,27 @@ public CompletableFuture<Copycat> delete(String path) {
} }


@Override @Override
@SuppressWarnings("unchecked")
public CompletableFuture<Copycat> open() { public CompletableFuture<Copycat> open() {
return raft.open().thenApply(v -> this); return ((Managed<Raft>) raft).open().thenApply(v -> this);
} }


@Override @Override
@SuppressWarnings("unchecked")
public boolean isOpen() { public boolean isOpen() {
return raft.isOpen(); return ((Managed<Raft>) raft).isOpen();
} }


@Override @Override
@SuppressWarnings("unchecked")
public CompletableFuture<Void> close() { public CompletableFuture<Void> close() {
return raft.close(); return ((Managed<Raft>) raft).close();
} }


@Override @Override
@SuppressWarnings("unchecked")
public boolean isClosed() { public boolean isClosed() {
return raft.isClosed(); return ((Managed<Raft>) raft).isClosed();
} }


/** /**
Expand Down
26 changes: 0 additions & 26 deletions protocol/src/main/java/net/kuujo/copycat/raft/ManagedRaft.java

This file was deleted.

Expand Up @@ -22,6 +22,7 @@
import net.kuujo.copycat.raft.*; import net.kuujo.copycat.raft.*;
import net.kuujo.copycat.raft.server.state.ServerContext; import net.kuujo.copycat.raft.server.state.ServerContext;
import net.kuujo.copycat.transport.Transport; import net.kuujo.copycat.transport.Transport;
import net.kuujo.copycat.util.Managed;
import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.Context;


import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
Expand All @@ -32,7 +33,7 @@
* *
* @author <a href="http://github.com/kuujo">Jordan Halterman</a> * @author <a href="http://github.com/kuujo">Jordan Halterman</a>
*/ */
public class RaftServer implements ManagedRaft { public class RaftServer implements Raft, Managed<Raft> {


/** /**
* Raft state types. * Raft state types.
Expand Down

0 comments on commit 93a7c97

Please sign in to comment.