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.
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes