libcoap 4.3.5-develop-19cef11
coap_async_internal.h
Go to the documentation of this file.
1/*
2 * coap_async_internal.h -- state management for asynchronous messages
3 *
4 * Copyright (C) 2010-2024 Olaf Bergmann <bergmann@tzi.org>
5 *
6 * SPDX-License-Identifier: BSD-2-Clause
7 *
8 * This file is part of the CoAP library libcoap. Please see README for terms
9 * of use.
10 */
11
17#ifndef COAP_ASYNC_INTERNAL_H_
18#define COAP_ASYNC_INTERNAL_H_
19
20#include "coap_internal.h"
21#include "coap_net.h"
22
23/* Note that if COAP_SERVER_SUPPORT is not set, then COAP_ASYNC_SUPPORT undefined */
24#if COAP_ASYNC_SUPPORT
25
35struct coap_async_t {
36 struct coap_async_t *next;
37 coap_tick_t delay;
39 coap_session_t *session;
40 coap_pdu_t *pdu;
41 void *appdata;
42};
43
64coap_async_t *coap_register_async_lkd(coap_session_t *session,
65 const coap_pdu_t *request,
66 coap_tick_t delay);
67
79coap_tick_t coap_check_async(coap_context_t *context, coap_tick_t now);
80
94coap_async_t *coap_find_async_lkd(coap_session_t *session, coap_bin_const_t token);
95
106void coap_async_trigger_lkd(coap_async_t *async);
107
120void coap_async_set_delay_lkd(coap_async_t *async, coap_tick_t delay);
121
131void coap_free_async_lkd(coap_session_t *session, coap_async_t *async);
132
138void coap_delete_all_async(coap_context_t *context);
139
142#endif /* COAP_ASYNC_SUPPORT */
143
144#endif /* COAP_ASYNC_INTERNAL_H_ */
struct coap_async_t coap_async_t
Async Entry information.
Pulls together all the internal only header files.
CoAP context interface.
uint64_t coap_tick_t
This data type represents internal timer ticks with COAP_TICKS_PER_SECOND resolution.
Definition: coap_time.h:143
CoAP binary data definition with const data.
Definition: coap_str.h:64
The CoAP stack's global state is stored in a coap_context_t object.
structure for CoAP PDUs
Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (se...