|
int | coap_insert_node (coap_queue_t **queue, coap_queue_t *node) |
| Adds node to given queue , ordered by variable t in node . More...
|
|
int | coap_delete_node (coap_queue_t *node) |
| Destroys specified node . More...
|
|
void | coap_delete_all (coap_queue_t *queue) |
| Removes all items from given queue and frees the allocated storage. More...
|
|
coap_queue_t * | coap_new_node (void) |
| Creates a new node suitable for adding to the CoAP sendqueue. More...
|
|
unsigned int | coap_adjust_basetime (coap_context_t *ctx, coap_tick_t now) |
| Set sendqueue_basetime in the given context object ctx to now . More...
|
|
coap_queue_t * | coap_peek_next (coap_context_t *context) |
| Returns the next pdu to send without removing from sendqeue. More...
|
|
coap_queue_t * | coap_pop_next (coap_context_t *context) |
| Returns the next pdu to send and removes it from the sendqeue. More...
|
|
coap_mid_t | coap_retransmit (coap_context_t *context, coap_queue_t *node) |
| Handles retransmissions of confirmable messages. More...
|
|
int | coap_handle_dgram (coap_context_t *ctx, coap_session_t *session, uint8_t *data, size_t data_len) |
| Parses and interprets a CoAP datagram with context ctx . More...
|
|
int | coap_remove_from_queue (coap_queue_t **queue, coap_session_t *session, coap_mid_t id, coap_queue_t **node) |
| This function removes the element with given id from the list given list. More...
|
|
coap_mid_t | coap_wait_ack (coap_context_t *context, coap_session_t *session, coap_queue_t *node) |
|
void | coap_cancel_all_messages (coap_context_t *context, coap_session_t *session, const uint8_t *token, size_t token_length) |
| Cancels all outstanding messages for session session that have the specified token. More...
|
|
void | coap_cancel_session_messages (coap_context_t *context, coap_session_t *session, coap_nack_reason_t reason) |
| Cancels all outstanding messages for session session . More...
|
|
void | coap_dispatch (coap_context_t *context, coap_session_t *session, coap_pdu_t *pdu) |
| Dispatches the PDUs from the receive queue in given context. More...
|
|
int | coap_option_check_critical (coap_session_t *session, coap_pdu_t *pdu, coap_opt_filter_t *unknown) |
| Verifies that pdu contains no unknown critical options. More...
|
|
coap_pdu_t * | coap_wellknown_response (coap_context_t *context, coap_session_t *session, coap_pdu_t *request) |
| Creates a new response for given request with the contents of .well-known/core. More...
|
|
unsigned int | coap_calc_timeout (coap_session_t *session, unsigned char r) |
| Calculates the initial timeout based on the session CoAP transmission parameters 'ack_timeout', 'ack_random_factor', and COAP_TICKS_PER_SECOND. More...
|
|
coap_mid_t | coap_send_internal (coap_session_t *session, coap_pdu_t *pdu) |
| Sends a CoAP message to given peer. More...
|
|
int | coap_client_delay_first (coap_session_t *session) |
| Delay the sending of the first client request until some other negotiation has completed. More...
|
|
Internal API for Context Handling.
unsigned int coap_calc_timeout |
( |
coap_session_t * |
session, |
|
|
unsigned char |
r |
|
) |
| |
Calculates the initial timeout based on the session CoAP transmission parameters 'ack_timeout', 'ack_random_factor', and COAP_TICKS_PER_SECOND.
The calculation requires 'ack_timeout' and 'ack_random_factor' to be in Qx.FRAC_BITS fixed point notation, whereas the passed parameter r
is interpreted as the fractional part of a Q0.MAX_BITS random value.
- Parameters
-
session | session timeout is associated with |
r | random value as fractional part of a Q0.MAX_BITS fixed point value |
- Returns
- COAP_TICKS_PER_SECOND * 'ack_timeout' * (1 + ('ack_random_factor' - 1) * r)
Definition at line 956 of file net.c.
This function removes the element with given id
from the list given list.
If id
was found, node
is updated to point to the removed element. Note that the storage allocated by node
is not released. The caller must do this manually using coap_delete_node(). This function returns 1
if the element with id id
was found, 0
otherwise. For a return value of 0
, the contents of node
is undefined.
- Parameters
-
queue | The queue to search for id . |
session | The session to look for. |
id | The message id to look for. |
node | If found, node is updated to point to the removed node. You must release the storage pointed to by node manually. |
- Returns
1
if id
was found, 0
otherwise.
Definition at line 2077 of file net.c.
Sends a CoAP message to given peer.
The memory that is allocated for the pdu will be released by coap_send_internal(). The caller must not use the pdu after calling coap_send_internal().
If the response body is split into multiple payloads using blocks, libcoap will handle asking for the subsequent blocks and any necessary recovery needed.
- Parameters
-
session | The CoAP session. |
pdu | The CoAP PDU to send. |
- Returns
- The message id of the sent message or
COAP_INVALID_MID
on error.
Definition at line 1242 of file net.c.