Enum garage_rpc::system::SystemRpc
source · pub enum SystemRpc {
Ok,
Connect(String),
PullClusterLayout,
AdvertiseStatus(NodeStatus),
AdvertiseClusterLayout(ClusterLayout),
GetKnownNodes,
ReturnKnownNodes(Vec<KnownNodeInfo>),
}
Expand description
RPC messages related to membership
Variants§
Ok
Response to successfull advertisements
Connect(String)
Request to connect to a specific node (in
PullClusterLayout
Ask other node its cluster layout. Answered with AdvertiseClusterLayout
AdvertiseStatus(NodeStatus)
Advertise Garage status. Answered with another AdvertiseStatus. Exchanged with every node on a regular basis.
AdvertiseClusterLayout(ClusterLayout)
Advertisement of cluster layout. Sent spontanously or in response to PullClusterLayout
GetKnownNodes
Get known nodes states
ReturnKnownNodes(Vec<KnownNodeInfo>)
Return known nodes
Trait Implementations§
source§impl<'de> Deserialize<'de> for SystemRpc
impl<'de> Deserialize<'de> for SystemRpc
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl EndpointHandler<SystemRpc> for System
impl EndpointHandler<SystemRpc> for System
Auto Trait Implementations§
impl RefUnwindSafe for SystemRpc
impl Send for SystemRpc
impl Sync for SystemRpc
impl Unpin for SystemRpc
impl UnwindSafe for SystemRpc
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<M> IntoReq<M> for Mwhere
M: Message,
impl<M> IntoReq<M> for Mwhere
M: Message,
source§fn into_req(self) -> Result<Req<M>, Error>
fn into_req(self) -> Result<Req<M>, Error>
Transform the object into a
Req<M>
, serializing the message M
to be sent to remote nodessource§fn into_req_local(self) -> Req<M>
fn into_req_local(self) -> Req<M>
Transform the object into a
Req<M>
, skipping the serialization
of message M, in the case we are not sending this RPC message to
a remote node