pub struct MdnsHandle { /* private fields */ }Implementations§
Source§impl MdnsHandle
impl MdnsHandle
pub fn core(&self) -> Result<Arc<MdnsCore>, KoiError>
pub async fn browse( &self, service_type: &str, ) -> Result<KoiBrowseHandle, KoiError>
pub async fn resolve(&self, name: &str) -> Result<ServiceRecord, KoiError>
pub fn register( &self, payload: RegisterPayload, ) -> Result<RegistrationResult, KoiError>
pub fn unregister(&self, id: &str) -> Result<(), KoiError>
Sourcepub fn subscribe(&self) -> Result<Receiver<MdnsEvent>, KoiError>
pub fn subscribe(&self) -> Result<Receiver<MdnsEvent>, KoiError>
Subscribe to the live mDNS lifecycle-event stream (Found / Resolved / Removed).
Available only in embedded mode, where there is a local MdnsCore to subscribe
to. In client (remote) mode there is no all-types lifecycle stream to forward —
the daemon’s /v1/mdns/subscribe requires a service type — so this returns
KoiError::RemoteUnsupported. For a remote event stream, use
MdnsHandle::browse with a specific service type (it forwards the daemon’s SSE).
Previously this silently returned a dead receiver in remote mode (it yielded nothing, forever); the typed error makes the limitation visible instead of swallowing it.
pub fn emit_event(&self, event: KoiEvent)
Auto Trait Implementations§
impl !RefUnwindSafe for MdnsHandle
impl !UnwindSafe for MdnsHandle
impl Freeze for MdnsHandle
impl Send for MdnsHandle
impl Sync for MdnsHandle
impl Unpin for MdnsHandle
impl UnsafeUnpin for MdnsHandle
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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>
Converts
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>
Converts
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