#[non_exhaustive]pub enum ServiceUpdate {
Established,
Renamed(ServiceRenamed),
Conflict,
HostConflict,
}compio or embassy-no-atomic or embassy or smol or smoltcp-no-atomic or smoltcp or tokio only.Expand description
Common, runtime-agnostic protocol types — re-exported from mdns_proto for
ergonomics. Service / query specs, records, names, and update events are
identical for every driver, so they live at the crate root; the runtime-specific
entry points (the endpoint constructor and its handle types) live in the
per-runtime driver modules (tokio, smol) or driver crates (compio,
smoltcp, embassy). These require a proto storage tier, which every
runtime / driver feature enables, so the re-export is gated on having one.
App-level events emitted by Service::poll().
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Established
Probing completed without conflict; the service is now advertised.
Renamed(ServiceRenamed)
Probing detected a conflict; the service rebranded to a new name.
Conflict
A conflict cannot be resolved automatically (e.g. tiebreak space exhausted). The caller must intervene.
HostConflict
A peer claimed our host name (A/AAAA owner) during probing.
The service does NOT rename itself automatically. The caller must resolve the conflict by choosing a new host name and re-registering, or by deferring to the peer.
Implementations§
Source§impl ServiceUpdate
impl ServiceUpdate
Sourcepub const fn is_established(&self) -> bool
pub const fn is_established(&self) -> bool
Returns true if this value is of type Established. Returns false otherwise
Sourcepub const fn is_renamed(&self) -> bool
pub const fn is_renamed(&self) -> bool
Returns true if this value is of type Renamed. Returns false otherwise
Sourcepub const fn is_conflict(&self) -> bool
pub const fn is_conflict(&self) -> bool
Returns true if this value is of type Conflict. Returns false otherwise
Sourcepub const fn is_host_conflict(&self) -> bool
pub const fn is_host_conflict(&self) -> bool
Returns true if this value is of type HostConflict. Returns false otherwise
Source§impl ServiceUpdate
impl ServiceUpdate
Sourcepub fn unwrap_established(self)
pub fn unwrap_established(self)
Unwraps this value to the ServiceUpdate::Established variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_established_ref(&self)
pub fn unwrap_established_ref(&self)
Unwraps this reference to the ServiceUpdate::Established variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_renamed(self) -> ServiceRenamed
pub fn unwrap_renamed(self) -> ServiceRenamed
Unwraps this value to the ServiceUpdate::Renamed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_renamed_ref(&self) -> &ServiceRenamed
pub fn unwrap_renamed_ref(&self) -> &ServiceRenamed
Unwraps this reference to the ServiceUpdate::Renamed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_conflict(self)
pub fn unwrap_conflict(self)
Unwraps this value to the ServiceUpdate::Conflict variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_conflict_ref(&self)
pub fn unwrap_conflict_ref(&self)
Unwraps this reference to the ServiceUpdate::Conflict variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_host_conflict(self)
pub fn unwrap_host_conflict(self)
Unwraps this value to the ServiceUpdate::HostConflict variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_host_conflict_ref(&self)
pub fn unwrap_host_conflict_ref(&self)
Unwraps this reference to the ServiceUpdate::HostConflict variant.
Panics if this value is of any other type.
Source§impl ServiceUpdate
impl ServiceUpdate
Sourcepub fn try_unwrap_established(self) -> Result<(), TryUnwrapError<ServiceUpdate>>
pub fn try_unwrap_established(self) -> Result<(), TryUnwrapError<ServiceUpdate>>
Attempts to unwrap this value to the ServiceUpdate::Established variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_established_ref(
&self,
) -> Result<(), TryUnwrapError<&ServiceUpdate>>
pub fn try_unwrap_established_ref( &self, ) -> Result<(), TryUnwrapError<&ServiceUpdate>>
Attempts to unwrap this reference to the ServiceUpdate::Established variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_renamed(
self,
) -> Result<ServiceRenamed, TryUnwrapError<ServiceUpdate>>
pub fn try_unwrap_renamed( self, ) -> Result<ServiceRenamed, TryUnwrapError<ServiceUpdate>>
Attempts to unwrap this value to the ServiceUpdate::Renamed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_renamed_ref(
&self,
) -> Result<&ServiceRenamed, TryUnwrapError<&ServiceUpdate>>
pub fn try_unwrap_renamed_ref( &self, ) -> Result<&ServiceRenamed, TryUnwrapError<&ServiceUpdate>>
Attempts to unwrap this reference to the ServiceUpdate::Renamed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_conflict(self) -> Result<(), TryUnwrapError<ServiceUpdate>>
pub fn try_unwrap_conflict(self) -> Result<(), TryUnwrapError<ServiceUpdate>>
Attempts to unwrap this value to the ServiceUpdate::Conflict variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_conflict_ref(
&self,
) -> Result<(), TryUnwrapError<&ServiceUpdate>>
pub fn try_unwrap_conflict_ref( &self, ) -> Result<(), TryUnwrapError<&ServiceUpdate>>
Attempts to unwrap this reference to the ServiceUpdate::Conflict variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_host_conflict(
self,
) -> Result<(), TryUnwrapError<ServiceUpdate>>
pub fn try_unwrap_host_conflict( self, ) -> Result<(), TryUnwrapError<ServiceUpdate>>
Attempts to unwrap this value to the ServiceUpdate::HostConflict variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_host_conflict_ref(
&self,
) -> Result<(), TryUnwrapError<&ServiceUpdate>>
pub fn try_unwrap_host_conflict_ref( &self, ) -> Result<(), TryUnwrapError<&ServiceUpdate>>
Attempts to unwrap this reference to the ServiceUpdate::HostConflict variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Trait Implementations§
Source§impl Clone for ServiceUpdate
impl Clone for ServiceUpdate
Source§fn clone(&self) -> ServiceUpdate
fn clone(&self) -> ServiceUpdate
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ServiceUpdate
impl RefUnwindSafe for ServiceUpdate
impl Send for ServiceUpdate
impl Sync for ServiceUpdate
impl Unpin for ServiceUpdate
impl UnsafeUnpin for ServiceUpdate
impl UnwindSafe for ServiceUpdate
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,
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more