#[non_exhaustive]pub struct HostConnectivityUpdatedPayload {
pub tenant_id: Uuid,
pub updates: Vec<HostConnectivityUpdate>,
}Expand description
Controller → MQTT service: agent connectivity changed for one or more hosts.
Published to NATS with target_capability = "update_tracking" so that the MQTT
service on whichever controller the agent is connected to broadcasts the
connectivity state to all MQTT services across the cluster. This is the
canonical source of truth for {prefix}/hosts/{h}/connectivity/state.
Multi-controller safety: published by the controller that owns the agent WebSocket connection (the only one with authoritative live state). All other controllers receive this via NATS and update their caches.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.tenant_id: UuidTenant this update belongs to.
updates: Vec<HostConnectivityUpdate>One entry per host whose connectivity changed.
Implementations§
Source§impl HostConnectivityUpdatedPayload
impl HostConnectivityUpdatedPayload
Sourcepub fn new(tenant_id: Uuid, updates: Vec<HostConnectivityUpdate>) -> Self
pub fn new(tenant_id: Uuid, updates: Vec<HostConnectivityUpdate>) -> Self
Creates a new payload.
Trait Implementations§
Source§impl Clone for HostConnectivityUpdatedPayload
impl Clone for HostConnectivityUpdatedPayload
Source§fn clone(&self) -> HostConnectivityUpdatedPayload
fn clone(&self) -> HostConnectivityUpdatedPayload
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'de> Deserialize<'de> for HostConnectivityUpdatedPayload
impl<'de> Deserialize<'de> for HostConnectivityUpdatedPayload
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
impl Eq for HostConnectivityUpdatedPayload
impl StructuralPartialEq for HostConnectivityUpdatedPayload
Source§impl WireValidate for HostConnectivityUpdatedPayload
impl WireValidate for HostConnectivityUpdatedPayload
Source§fn wire_validate(&self) -> Result<(), WireValidationError>
fn wire_validate(&self) -> Result<(), WireValidationError>
Validate that all fields are within wire protocol size limits.
Auto Trait Implementations§
impl Freeze for HostConnectivityUpdatedPayload
impl RefUnwindSafe for HostConnectivityUpdatedPayload
impl Send for HostConnectivityUpdatedPayload
impl Sync for HostConnectivityUpdatedPayload
impl Unpin for HostConnectivityUpdatedPayload
impl UnsafeUnpin for HostConnectivityUpdatedPayload
impl UnwindSafe for HostConnectivityUpdatedPayload
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
Mutably borrows from an owned value. Read more
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
Compare self to
key and return true if they are equal.