[][src]Struct comms_service::CommsControlBlock

pub struct CommsControlBlock<Connection: Clone> {
    pub read: Option<Arc<ReadFn<Connection>>>,
    pub write: Vec<Arc<WriteFn<Connection>>>,
    pub read_conn: Connection,
    pub write_conn: Connection,
    pub max_num_handlers: u16,
    pub timeout: u64,
    pub ip: Ipv4Addr,
    pub downlink_ports: Option<Vec<u16>>,
}

Struct that holds configuration data to allow users to set up a Communication Service.

Fields

read: Option<Arc<ReadFn<Connection>>>

Function pointer to a function that defines how to read from a gateway.

write: Vec<Arc<WriteFn<Connection>>>

Function pointers to functions that define methods for writing data over a gateway.

read_conn: Connection

Gateway connection to read from.

write_conn: Connection

Gateway connection to write to.

max_num_handlers: u16

Maximum number of concurrent message handlers allowed.

timeout: u64

Timeout for the completion of GraphQL operations within message handlers (in milliseconds).

ip: Ipv4Addr

IP address of the computer that is running the communication service.

downlink_ports: Option<Vec<u16>>

Optional list of ports used by downlink endpoints that send messages to the ground. Each port in the list will be used by one downlink endpoint.

Methods

impl<Connection: Clone> CommsControlBlock<Connection>[src]

pub fn new(
    read: Option<Arc<ReadFn<Connection>>>,
    write: Vec<Arc<WriteFn<Connection>>>,
    read_conn: Connection,
    write_conn: Connection,
    config: CommsConfig
) -> CommsResult<Self>
[src]

Creates a new instance of the CommsControlBlock

Trait Implementations

impl<Connection: Clone> Clone for CommsControlBlock<Connection>[src]

impl<Connection: Clone + Debug> Debug for CommsControlBlock<Connection>[src]

Auto Trait Implementations

impl<Connection> Send for CommsControlBlock<Connection> where
    Connection: Send

impl<Connection> Unpin for CommsControlBlock<Connection> where
    Connection: Unpin

impl<Connection> Sync for CommsControlBlock<Connection> where
    Connection: Sync

impl<Connection> !UnwindSafe for CommsControlBlock<Connection>

impl<Connection> !RefUnwindSafe for CommsControlBlock<Connection>

Blanket Implementations

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> From<T> for 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> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

impl<T> DebugAny for T where
    T: Any + Debug

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> UnsafeAny for T where
    T: Any