Package

miniraft.state

rest

Permalink

package rest

Visibility
  1. Public
  2. All

Type Members

  1. case class LeaderClient[T](client: RestClient, newClient: (Uri) ⇒ RestClient)(implicit evidence$1: Encoder[T], evidence$2: Decoder[T]) extends LazyLogging with Product with Serializable

    Permalink

    Exposes a REST client which client code can use to send requests of 'T' to the raft cluster

  2. case class LeaderRoutes[T](leader: LeaderApi[T], locationForId: (NodeId) ⇒ HostLocation)(implicit evidence$1: Encoder[T], evidence$2: Decoder[T], ec: ExecutionContext) extends RaftJson with FailFastCirceSupport with Product with Serializable

    Permalink

    Routes to allow client calls to append to the state machine

  3. case class LoggingEndpoint[T](ourNodeId: NodeId, underlying: RaftEndpoint[T], saveUnder: Path, counter: AtomicInteger, numberOfMessageToKeep: Int)(implicit evidence$1: Encoder[T], evidence$2: Decoder[T], ec: ExecutionContext) extends RaftEndpoint[T] with StrictLogging with Product with Serializable

    Permalink
  4. sealed trait NodeStateSummary extends AnyRef

    Permalink
  5. class RaftClient[T] extends RaftEndpoint[T] with LazyLogging

    Permalink

    A RaftEndpoint via a RestService

  6. trait RaftJson extends AnyRef

    Permalink
  7. case class RaftRoutes[T](endpoint: RaftEndpoint[T])(implicit evidence$1: Encoder[T], evidence$2: Decoder[T], ec: ExecutionContext) extends RaftJson with FailFastCirceSupport with StrictLogging with Product with Serializable

    Permalink

    Routes required to support the raft protocol as a communication between raft nodes.

    Routes required to support the raft protocol as a communication between raft nodes.

    For client or support routes, well, look elsewhere. Please.

  8. class RaftSupportClient[T] extends RaftClient[T]

    Permalink

    REST client to the support routes

  9. case class RaftSupportRoutes[T](logic: RaftNodeLogic[T], cluster: ClusterProtocol, messageLogDir: Option[Path])(implicit evidence$1: Encoder[T], evidence$2: Decoder[T], ec: ExecutionContext) extends RaftJson with FailFastCirceSupport with Product with Serializable

    Permalink

    Additional routes not required for Raft but which facilitate development/support/debugging, e.g.

    Additional routes not required for Raft but which facilitate development/support/debugging, e.g. by providing for examining the current Raft state

Value Members

  1. object LoggingEndpoint extends Serializable

    Permalink
  2. object NodeStateSummary

    Permalink
  3. object RaftClient

    Permalink
  4. object RaftHttp extends RequestBuilding with FailFastCirceSupport

    Permalink

Ungrouped