#[non_exhaustive]pub struct SheepApplied {
pub name: String,
pub applied: Vec<String>,
pub pending: Vec<String>,
pub refused: Option<String>,
}Expand description
What one app’s Request::ApplyConfig did: the answer a load owes the
operator who ran it
One of these per app the request named, found or not and changed or not.
Self::applied and Self::pending carry field names only, never
their values, as SheepDrift does; the merged config never reaches a
client. Self::refused is prose and is scoped out of that rule: it
quotes values out of the file the caller just sent, never out of the
flock’s stored config. Debug is derived on that basis: nothing here
needs redacting.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringThe sheep’s name, exactly as the request spelled it.
applied: Vec<String>Fields now in force, in field-name order. Empty when the load changed nothing the daemon could act on immediately.
pending: Vec<String>Fields the app picks up at its next spawn, in field-name order. Empty when nothing is waiting.
shep reload <name> promotes them; a client rendering this list says
so, since a pending list with no remedy beside it cannot be acted on.
refused: Option<String>Why some or all of this app’s change did not land, in the daemon’s own
words, or None when the whole of it did.
Not the same question as the two lists being empty: a refusal raised before anything was touched leaves both empty, and so does a load with nothing to do. It is a sentence rather than a code because the message is what tells them apart.
Implementations§
Trait Implementations§
Source§impl Clone for SheepApplied
impl Clone for SheepApplied
Source§fn clone(&self) -> SheepApplied
fn clone(&self) -> SheepApplied
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SheepApplied
impl Debug for SheepApplied
Source§impl<'de> Deserialize<'de> for SheepApplied
impl<'de> Deserialize<'de> for SheepApplied
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>,
impl Eq for SheepApplied
Source§impl PartialEq for SheepApplied
impl PartialEq for SheepApplied
Source§impl Serialize for SheepApplied
impl Serialize for SheepApplied
impl StructuralPartialEq for SheepApplied
Auto Trait Implementations§
impl Freeze for SheepApplied
impl RefUnwindSafe for SheepApplied
impl Send for SheepApplied
impl Sync for SheepApplied
impl Unpin for SheepApplied
impl UnsafeUnpin for SheepApplied
impl UnwindSafe for SheepApplied
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.