Type Alias riot_sys::gcoap_listener_t

source ·
pub type gcoap_listener_t = gcoap_listener;
Expand description

@brief A modular collection of resources for a server

Aliased Type§

struct gcoap_listener_t {
    pub resources: *const coap_resource_t,
    pub resources_len: u32,
    pub tl_type: u8,
    pub link_encoder: Option<unsafe extern "C" fn(_: *const coap_resource_t, _: *mut u8, _: u32, _: *mut coap_link_encoder_ctx_t) -> i32>,
    pub next: *mut gcoap_listener,
    pub request_matcher: Option<unsafe extern "C" fn(_: *mut gcoap_listener, _: *mut *const coap_resource_t, _: *mut coap_pkt_t) -> i32>,
}

Fields§

§resources: *const coap_resource_t

< First element in the array of resources

§resources_len: u32

< Length of array

§tl_type: u8

@brief Transport type for the listener

Any transport supported by the implementation can be set as a flag. If @ref GCOAP_SOCKET_TYPE_UNDEF is set, the listener listens on all supported transports. If non of the transports beyond UDP are compiled in (i.e. no usage of modules gcoap_dtls, …) this will be ignored and @ref GCOAP_SOCKET_TYPE_UDP assumed.

§link_encoder: Option<unsafe extern "C" fn(_: *const coap_resource_t, _: *mut u8, _: u32, _: *mut coap_link_encoder_ctx_t) -> i32>

< Writes a link for a resource

§next: *mut gcoap_listener

< Next listener in list

§request_matcher: Option<unsafe extern "C" fn(_: *mut gcoap_listener, _: *mut *const coap_resource_t, _: *mut coap_pkt_t) -> i32>

@brief Function that picks a suitable request handler from a request.

@note Leaving this NULL selects the default strategy that picks handlers by matching their Uri-Path to resource paths (as per the documentation of the @ref resources and @ref resources_len fields). Alternative handlers may cast the @ref resources and @ref resources_len fields to fit their needs.