[][src]Struct igd::Gateway

pub struct Gateway {
    pub addr: SocketAddrV4,
    pub control_url: String,
}

This structure represents a gateway found by the search functions.

Fields

addr: SocketAddrV4

Socket address of the gateway

control_url: String

Control url of the device

Methods

impl Gateway[src]

pub fn get_external_ip(&self) -> Result<Ipv4Addr, GetExternalIpError>[src]

Get the external IP address of the gateway.

pub fn get_any_address(
    &self,
    protocol: PortMappingProtocol,
    local_addr: SocketAddrV4,
    lease_duration: u32,
    description: &str
) -> Result<SocketAddrV4, AddAnyPortError>
[src]

Get an external socket address with our external ip and any port. This is a convenience function that calls get_external_ip followed by add_any_port

The local_addr is the address where the traffic is sent to. The lease_duration parameter is in seconds. A value of 0 is infinite.

Returns

The external address that was mapped on success. Otherwise an error.

pub fn add_any_port(
    &self,
    protocol: PortMappingProtocol,
    local_addr: SocketAddrV4,
    lease_duration: u32,
    description: &str
) -> Result<u16, AddAnyPortError>
[src]

Add a port mapping.with any external port.

The local_addr is the address where the traffic is sent to. The lease_duration parameter is in seconds. A value of 0 is infinite.

Returns

The external port that was mapped on success. Otherwise an error.

pub fn add_port(
    &self,
    protocol: PortMappingProtocol,
    external_port: u16,
    local_addr: SocketAddrV4,
    lease_duration: u32,
    description: &str
) -> Result<(), AddPortError>
[src]

Add a port mapping.

The local_addr is the address where the traffic is sent to. The lease_duration parameter is in seconds. A value of 0 is infinite.

pub fn remove_port(
    &self,
    protocol: PortMappingProtocol,
    external_port: u16
) -> Result<(), RemovePortError>
[src]

Remove a port mapping.

pub fn get_generic_port_mapping_entry(
    &self,
    index: u32
) -> Result<PortMappingEntry, GetGenericPortMappingEntryError>
[src]

Get one port mapping entry

Gets one port mapping entry by its index. Not all existing port mappings might be visible to this client. If the index is out of bound, GetGenericPortMappingEntryError::SpecifiedArrayIndexInvalid will be returned

Trait Implementations

impl Clone for Gateway[src]

impl Debug for Gateway[src]

impl Display for Gateway[src]

impl Eq for Gateway[src]

impl Hash for Gateway[src]

impl PartialEq<Gateway> for Gateway[src]

impl StructuralEq for Gateway[src]

impl StructuralPartialEq for Gateway[src]

Auto Trait Implementations

impl RefUnwindSafe for Gateway

impl Send for Gateway

impl Sync for Gateway

impl Unpin for Gateway

impl UnwindSafe for Gateway

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,