pub struct Responder { /* private fields */ }
Implementations§
source§impl Responder
impl Responder
sourcepub fn new_with_ip_list(allowed_ips: Vec<IpAddr>) -> Result<Responder>
pub fn new_with_ip_list(allowed_ips: Vec<IpAddr>) -> Result<Responder>
Spawn a Responder
task on an new os thread.
DNS response records will have the reported IPs limited to those passed in here.
This can be particularly useful on machines with lots of networks created by tools such as docker.
sourcepub fn spawn(handle: &Handle) -> Result<Responder>
pub fn spawn(handle: &Handle) -> Result<Responder>
Spawn a Responder
with the provided tokio Handle
.
Example
use libmdns::Responder;
let rt = tokio::runtime::Builder::new_current_thread().build().unwrap();
let handle = rt.handle().clone();
let responder = Responder::spawn(&handle)?;
sourcepub fn spawn_with_ip_list(
handle: &Handle,
allowed_ips: Vec<IpAddr>
) -> Result<Responder>
pub fn spawn_with_ip_list( handle: &Handle, allowed_ips: Vec<IpAddr> ) -> Result<Responder>
Spawn a Responder
task with the provided tokio Handle
.
DNS response records will have the reported IPs limited to those passed in here.
This can be particularly useful on machines with lots of networks created by tools such as docker.
sourcepub fn with_default_handle(
) -> Result<(Responder, Box<dyn Future<Output = ()> + Send + Unpin>)>
pub fn with_default_handle( ) -> Result<(Responder, Box<dyn Future<Output = ()> + Send + Unpin>)>
Spawn a Responder
on the default tokio handle.
sourcepub fn with_default_handle_and_ip_list(
allowed_ips: Vec<IpAddr>
) -> Result<(Responder, Box<dyn Future<Output = ()> + Send + Unpin>)>
pub fn with_default_handle_and_ip_list( allowed_ips: Vec<IpAddr> ) -> Result<(Responder, Box<dyn Future<Output = ()> + Send + Unpin>)>
Spawn a Responder
on the default tokio handle.
DNS response records will have the reported IPs limited to those passed in here.
This can be particularly useful on machines with lots of networks created by tools such as docker.
source§impl Responder
impl Responder
sourcepub fn register(
&self,
svc_type: String,
svc_name: String,
port: u16,
txt: &[&str]
) -> Service
pub fn register( &self, svc_type: String, svc_name: String, port: u16, txt: &[&str] ) -> Service
Register a service to be advertised by the Responder
. The service is unregistered on
drop.
example
use libmdns::Responder;
let responder = Responder::new()?;
// bind service
let _http_svc = responder.register(
"_http._tcp".into(),
"my http server".into(),
80,
&["path=/"]
);