[][src]Struct quic_p2p::Config

pub struct Config {
    pub hard_coded_contacts: HashSet<NodeInfo>,
    pub port: Option<u16>,
    pub ip: Option<IpAddr>,
    pub max_msg_size_allowed: Option<u32>,
    pub idle_timeout_msec: Option<u64>,
    pub keep_alive_interval_msec: Option<u32>,
    pub our_complete_cert: Option<SerialisableCertificate>,
    pub our_type: OurType,
}

QuicP2p configurations

Fields

hard_coded_contacts: HashSet<NodeInfo>

Hard Coded contacts

port: Option<u16>

Port we want to reserve for QUIC. If none supplied we'll use the OS given random port.

ip: Option<IpAddr>

IP address for the listener. If none supplied we'll use the default address (0.0.0.0).

max_msg_size_allowed: Option<u32>

This is the maximum message size we'll allow the peer to send to us. Any bigger message and we'll error out probably shutting down the connection to the peer. If none supplied we'll default to the documented constant.

idle_timeout_msec: Option<u64>

If we hear nothing from the peer in the given interval we declare it offline to us. If none supplied we'll default to the documented constant.

The interval is in milliseconds. A value of 0 disables this feature.

keep_alive_interval_msec: Option<u32>

Interval to send keep-alives if we are idling so that the peer does not disconnect from us declaring us offline. If none is supplied we'll default to the documented constant.

The interval is in milliseconds. A value of 0 disables this feature.

our_complete_cert: Option<SerialisableCertificate>

Our TLS Certificate. If passed as a command line argument, it should be encoded in base64 (see SerialisableCertificate::to_string).

our_type: OurType

Specify if we are a client or a node

Methods

impl Config[src]

pub fn read_or_construct_default(user_override: Option<&Dirs>) -> R<Config>[src]

Try and read the config off the disk first. If such a file-path doesn't exist it'll create a default one with random certificate and write that to the disk, eventually returning that config to the caller.

pub fn with_default_cert() -> Config[src]

Create a default Config with random Certificate

Trait Implementations

impl PartialEq<Config> for Config[src]

impl Clone for Config[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Default for Config[src]

impl Eq for Config[src]

impl Debug for Config[src]

impl StructOpt for Config[src]

fn from_args() -> Self[src]

Gets the struct from the command line arguments. Print the error message and quit the program in case of failure. Read more

fn from_iter<I>(iter: I) -> Self where
    I: IntoIterator,
    <I as IntoIterator>::Item: Into<OsString>,
    <I as IntoIterator>::Item: Clone
[src]

Gets the struct from any iterator such as a Vec of your making. Print the error message and quit the program in case of failure. Read more

fn from_iter_safe<I>(iter: I) -> Result<Self, Error> where
    I: IntoIterator,
    <I as IntoIterator>::Item: Into<OsString>,
    <I as IntoIterator>::Item: Clone
[src]

Gets the struct from any iterator such as a Vec of your making. Read more

impl<'de> Deserialize<'de> for Config[src]

impl Serialize for Config[src]

Auto Trait Implementations

impl Unpin for Config

impl Sync for Config

impl Send for Config

impl RefUnwindSafe for Config

impl UnwindSafe for Config

Blanket Implementations

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

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

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> Erased for T

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized