Trait TMdnsBrowser

Source
pub trait TMdnsBrowser {
    // Required methods
    fn new(service_type: ServiceType) -> Self;
    fn set_network_interface(&mut self, interface: NetworkInterface);
    fn network_interface(&self) -> NetworkInterface;
    fn set_service_discovered_callback(
        &mut self,
        service_discovered_callback: Box<ServiceDiscoveredCallback>,
    );
    fn set_context(&mut self, context: Box<dyn Any>);
    fn context(&self) -> Option<&dyn Any>;
    fn browse_services(&mut self) -> Result<EventLoop>;
}
Expand description

Interface for interacting with underlying mDNS implementation service browsing capabilities.

Required Methods§

Source

fn new(service_type: ServiceType) -> Self

Creates a new MdnsBrowser that browses for the specified kind (e.g. _http._tcp)

Source

fn set_network_interface(&mut self, interface: NetworkInterface)

Sets the network interface on which to browse for services on.

Most applications will want to use the default value NetworkInterface::Unspec to browse on all available interfaces.

Source

fn network_interface(&self) -> NetworkInterface

Returns the network interface on which to browse for services on.

Source

fn set_service_discovered_callback( &mut self, service_discovered_callback: Box<ServiceDiscoveredCallback>, )

Sets the ServiceDiscoveredCallback that is invoked when the browser has discovered and resolved a service.

Source

fn set_context(&mut self, context: Box<dyn Any>)

Sets the optional user context to pass through to the callback. This is useful if you need to share state between pre and post-callback. The context type must implement Any.

Source

fn context(&self) -> Option<&dyn Any>

Returns the optional user context to pass through to the callback.

Source

fn browse_services(&mut self) -> Result<EventLoop>

Starts the browser. Returns an EventLoop which can be called to keep the browser alive.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§