Struct InstanceInformation

Source
pub struct InstanceInformation {
    pub ip_addresses: HashSet<IpAddr>,
    pub ports: HashSet<u16>,
    pub attributes: HashMap<String, Option<String>>,
    /* private fields */
}
Expand description

Represents a single instance of the service. Notice that it is not possible to associate a port to a single ip address, due to limitations of the DNS protocol

Fields§

§ip_addresses: HashSet<IpAddr>

Ips for this instance

§ports: HashSet<u16>

Ports for this instance

§attributes: HashMap<String, Option<String>>

Attributes for this instance

Implementations§

Source§

impl<'a> InstanceInformation

Source

pub fn new(instance_name: String) -> Self

Creates an empty InstanceInformation

Source

pub fn with_socket_address(self, socket_address: SocketAddr) -> Self

Adds the ip_address and port to this instance information. This is the equivalent of with_ip_address(ip_address).with_port(port)

Source

pub fn with_ip_address(self, ip_address: IpAddr) -> Self

Adds ip_address to the list of ip addresses for this instance

Source

pub fn with_port(self, port: u16) -> Self

Adds port to the list of ports for this instance

Source

pub fn with_attribute(self, key: String, value: Option<String>) -> Self

Add and attribute to the list of attributes

Source

pub fn escaped_instance_name(&self) -> String

Escape the instance name

. will be replaced with . \ will be replaced with \

Source

pub fn unescaped_instance_name(&self) -> String

Unescape the instance name

. will be replaced with . \ will be replaced with \

Source

pub fn into_records( self, service_name: &Name<'a>, ttl: u32, ) -> Result<Vec<ResourceRecord<'a>>, SimpleMdnsError>

Transform into a Vec

Source

pub fn get_socket_addresses(&self) -> impl Iterator<Item = SocketAddr> + '_

Creates a Iterator of SocketAddr for each ip address and port combination

Trait Implementations§

Source§

impl Clone for InstanceInformation

Source§

fn clone(&self) -> InstanceInformation

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InstanceInformation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for InstanceInformation

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for InstanceInformation

Source§

fn eq(&self, other: &InstanceInformation) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for InstanceInformation

Source§

impl StructuralPartialEq for InstanceInformation

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.