pub struct WorkerStore { /* private fields */ }Expand description
The versioned protected headers one worker holds. No serde, no Clone,
and Debug prints counts only.
Implementations§
Source§impl WorkerStore
impl WorkerStore
Sourcepub fn prepare(
&mut self,
cluster: &str,
version: ProtectedHeaderVersion,
payload: Option<Payload>,
) -> Result<(), StageError>
pub fn prepare( &mut self, cluster: &str, version: ProtectedHeaderVersion, payload: Option<Payload>, ) -> Result<(), StageError>
Stage payload as version of cluster; None stages a removal.
Nothing is applied. A version at or below the applied one is refused,
and staging the same version again keeps the first payload.
Sourcepub fn commit(
&mut self,
cluster: &str,
version: ProtectedHeaderVersion,
) -> Commit
pub fn commit( &mut self, cluster: &str, version: ProtectedHeaderVersion, ) -> Commit
Apply a staged version. Versions apply in order: one older than the
applied version overwrites nothing, but it becomes the state an abort
of the applied version restores when it is newer than the one kept.
Sourcepub fn abort(
&mut self,
cluster: &str,
version: ProtectedHeaderVersion,
) -> Resolution
pub fn abort( &mut self, cluster: &str, version: ProtectedHeaderVersion, ) -> Resolution
Drop a staged version; when it is the applied one, restore the state
that preceded it. Anything else is Ignored.
Sourcepub fn release(&mut self, cluster: &str, version: ProtectedHeaderVersion)
pub fn release(&mut self, cluster: &str, version: ProtectedHeaderVersion)
The transaction that applied version succeeded everywhere: the state
before it can no longer be wanted, and is dropped.
Sourcepub fn effective(&self, cluster: &str) -> Option<&Payload>
pub fn effective(&self, cluster: &str) -> Option<&Payload>
The payload the cluster currently holds, if any.
Sourcepub fn remove_cluster(&mut self, cluster: &str)
pub fn remove_cluster(&mut self, cluster: &str)
The cluster is gone: every held, kept and staged value goes with it.