Skip to content

Commit 67dec10

Browse files
net: openthread: rpc: standarize resources allocation
Add macros to declare/define necessary functions for internal resource tables on server. Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
1 parent 74f63da commit 67dec10

File tree

13 files changed

+199
-181
lines changed

13 files changed

+199
-181
lines changed

subsys/net/openthread/rpc/client/ot_rpc_coap.c

+31-31
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ static ot_rpc_coap_request_key ot_rpc_coap_request_alloc(otCoapResponseHandler h
4242
otMessage *otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
4343
{
4444
struct nrf_rpc_cbor_ctx ctx;
45-
ot_msg_key message_rep;
45+
ot_rpc_res_tab_key message_rep;
4646

4747
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, OT_RPC_MESSAGE_SETTINGS_LENGTH);
4848
ot_rpc_encode_message_settings(&ctx, aSettings);
@@ -59,12 +59,12 @@ void otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode)
5959
struct nrf_rpc_cbor_ctx ctx;
6060
size_t cbor_buffer_size = 0;
6161

62-
cbor_buffer_size += 1 + sizeof(ot_msg_key); /* aMessage */
63-
cbor_buffer_size += 1; /* aType */
64-
cbor_buffer_size += 1 + sizeof(aCode); /* aCode */
62+
cbor_buffer_size += 1 + sizeof(ot_rpc_res_tab_key); /* aMessage */
63+
cbor_buffer_size += 1; /* aType */
64+
cbor_buffer_size += 1 + sizeof(aCode); /* aCode */
6565

6666
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, cbor_buffer_size);
67-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
67+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
6868
nrf_rpc_encode_uint(&ctx, aType);
6969
nrf_rpc_encode_uint(&ctx, aCode);
7070

@@ -79,14 +79,14 @@ otError otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aReques
7979
size_t cbor_buffer_size = 0;
8080
otError error;
8181

82-
cbor_buffer_size += 1 + sizeof(ot_msg_key); /* aResponse */
83-
cbor_buffer_size += 1 + sizeof(ot_msg_key); /* aRequest */
84-
cbor_buffer_size += 1; /* aType */
85-
cbor_buffer_size += 1 + sizeof(aCode); /* aCode */
82+
cbor_buffer_size += 1 + sizeof(ot_rpc_res_tab_key); /* aResponse */
83+
cbor_buffer_size += 1 + sizeof(ot_rpc_res_tab_key); /* aRequest */
84+
cbor_buffer_size += 1; /* aType */
85+
cbor_buffer_size += 1 + sizeof(aCode); /* aCode */
8686

8787
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, cbor_buffer_size);
88-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aResponse);
89-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aRequest);
88+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aResponse);
89+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aRequest);
9090
nrf_rpc_encode_uint(&ctx, aType);
9191
nrf_rpc_encode_uint(&ctx, aCode);
9292

@@ -102,11 +102,11 @@ otError otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriP
102102
size_t cbor_buffer_size = 0;
103103
otError error;
104104

105-
cbor_buffer_size += 1 + sizeof(ot_msg_key); /* aMessage */
106-
cbor_buffer_size += 2 + strlen(aUriPath); /* aUriPath */
105+
cbor_buffer_size += 1 + sizeof(ot_rpc_res_tab_key); /* aMessage */
106+
cbor_buffer_size += 2 + strlen(aUriPath); /* aUriPath */
107107

108108
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, cbor_buffer_size);
109-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
109+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
110110
nrf_rpc_encode_str(&ctx, aUriPath, -1);
111111

112112
nrf_rpc_cbor_cmd_no_err(&ot_group, OT_RPC_CMD_COAP_MESSAGE_APPEND_URI_PATH_OPTIONS, &ctx,
@@ -120,8 +120,8 @@ otError otCoapMessageSetPayloadMarker(otMessage *aMessage)
120120
struct nrf_rpc_cbor_ctx ctx;
121121
otError error;
122122

123-
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_msg_key));
124-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
123+
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_rpc_res_tab_key));
124+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
125125

126126
nrf_rpc_cbor_cmd_no_err(&ot_group, OT_RPC_CMD_COAP_MESSAGE_SET_PAYLOAD_MARKER, &ctx,
127127
ot_rpc_decode_error, &error);
@@ -134,8 +134,8 @@ otCoapType otCoapMessageGetType(const otMessage *aMessage)
134134
struct nrf_rpc_cbor_ctx ctx;
135135
otCoapType type = 0;
136136

137-
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_msg_key));
138-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
137+
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_rpc_res_tab_key));
138+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
139139

140140
nrf_rpc_cbor_cmd_rsp_no_err(&ot_group, OT_RPC_CMD_COAP_MESSAGE_GET_TYPE, &ctx);
141141
nrf_rpc_rsp_decode_uint(&ot_group, &ctx, &type, sizeof(type));
@@ -149,8 +149,8 @@ otCoapCode otCoapMessageGetCode(const otMessage *aMessage)
149149
struct nrf_rpc_cbor_ctx ctx;
150150
otCoapCode code = 0;
151151

152-
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_msg_key));
153-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
152+
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_rpc_res_tab_key));
153+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
154154

155155
nrf_rpc_cbor_cmd_rsp_no_err(&ot_group, OT_RPC_CMD_COAP_MESSAGE_GET_CODE, &ctx);
156156
nrf_rpc_rsp_decode_uint(&ot_group, &ctx, &code, sizeof(code));
@@ -164,8 +164,8 @@ uint16_t otCoapMessageGetMessageId(const otMessage *aMessage)
164164
struct nrf_rpc_cbor_ctx ctx;
165165
uint16_t id = 0;
166166

167-
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_msg_key));
168-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
167+
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_rpc_res_tab_key));
168+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
169169

170170
nrf_rpc_cbor_cmd_no_err(&ot_group, OT_RPC_CMD_COAP_MESSAGE_GET_MESSAGE_ID, &ctx,
171171
nrf_rpc_rsp_decode_u16, &id);
@@ -178,8 +178,8 @@ uint8_t otCoapMessageGetTokenLength(const otMessage *aMessage)
178178
struct nrf_rpc_cbor_ctx ctx;
179179
uint8_t token_length = 0;
180180

181-
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_msg_key));
182-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
181+
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_rpc_res_tab_key));
182+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
183183

184184
nrf_rpc_cbor_cmd_no_err(&ot_group, OT_RPC_CMD_COAP_MESSAGE_GET_TOKEN_LENGTH, &ctx,
185185
nrf_rpc_rsp_decode_u8, &token_length);
@@ -192,8 +192,8 @@ const uint8_t *otCoapMessageGetToken(const otMessage *aMessage)
192192
struct nrf_rpc_cbor_ctx ctx;
193193
static uint8_t token[OT_COAP_MAX_TOKEN_LENGTH];
194194

195-
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_msg_key));
196-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
195+
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, 1 + sizeof(ot_rpc_res_tab_key));
196+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
197197

198198
nrf_rpc_cbor_cmd_rsp_no_err(&ot_group, OT_RPC_CMD_COAP_MESSAGE_GET_TOKEN, &ctx);
199199

@@ -370,7 +370,7 @@ void otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandle
370370
static void ot_rpc_cmd_coap_default_handler(const struct nrf_rpc_group *group,
371371
struct nrf_rpc_cbor_ctx *ctx, void *handler_data)
372372
{
373-
ot_msg_key message_rep;
373+
ot_rpc_res_tab_key message_rep;
374374
otMessageInfo message_info;
375375

376376
message_rep = nrf_rpc_decode_uint(ctx);
@@ -407,12 +407,12 @@ otError otCoapSendRequestWithParameters(otInstance *aInstance, otMessage *aMessa
407407
return OT_ERROR_NO_BUFS;
408408
}
409409

410-
cbor_buffer_size += 1 + sizeof(ot_msg_key); /* aMessage */
410+
cbor_buffer_size += 1 + sizeof(ot_rpc_res_tab_key); /* aMessage */
411411
cbor_buffer_size += OT_RPC_MESSAGE_INFO_LENGTH(aMessageInfo);
412412
cbor_buffer_size += 1 + sizeof(ot_rpc_coap_request_key);
413413

414414
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, cbor_buffer_size);
415-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
415+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
416416
ot_rpc_encode_message_info(&ctx, aMessageInfo);
417417
nrf_rpc_encode_uint(&ctx, request_rep);
418418
/* Ignore aTXParameters as it is NULL for otCoapSendRequest() that we only need for now */
@@ -474,11 +474,11 @@ otError otCoapSendResponseWithParameters(otInstance *aInstance, otMessage *aMess
474474
size_t cbor_buffer_size = 0;
475475
otError error = OT_ERROR_PARSE;
476476

477-
cbor_buffer_size += 1 + sizeof(ot_msg_key); /* aMessage */
477+
cbor_buffer_size += 1 + sizeof(ot_rpc_res_tab_key); /* aMessage */
478478
cbor_buffer_size += OT_RPC_MESSAGE_INFO_LENGTH(aMessageInfo);
479479

480480
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, cbor_buffer_size);
481-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
481+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
482482
ot_rpc_encode_message_info(&ctx, aMessageInfo);
483483
/* Ignore aTXParameters as it is NULL for otCoapSendResponse() that we only need for now */
484484
ARG_UNUSED(aTxParameters);

subsys/net/openthread/rpc/client/ot_rpc_message.c

+7-7
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
otError otMessageAppend(otMessage *aMessage, const void *aBuf, uint16_t aLength)
2020
{
2121
struct nrf_rpc_cbor_ctx ctx;
22-
ot_msg_key key = (ot_msg_key)aMessage;
22+
ot_rpc_res_tab_key key = (ot_rpc_res_tab_key)aMessage;
2323
otError error = OT_ERROR_NONE;
2424

2525
if (aLength == 0 || aBuf == NULL) {
@@ -39,7 +39,7 @@ otMessage *otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSett
3939
{
4040
otMessage *msg = NULL;
4141
struct nrf_rpc_cbor_ctx ctx;
42-
ot_msg_key key;
42+
ot_rpc_res_tab_key key;
4343

4444
ARG_UNUSED(aInstance);
4545

@@ -62,9 +62,9 @@ otMessage *otUdpNewMessage(otInstance *aInstance, const otMessageSettings *aSett
6262
void otMessageFree(otMessage *aMessage)
6363
{
6464
struct nrf_rpc_cbor_ctx ctx;
65-
ot_msg_key key = (ot_msg_key)aMessage;
65+
ot_rpc_res_tab_key key = (ot_rpc_res_tab_key)aMessage;
6666

67-
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, sizeof(ot_msg_key) + 1);
67+
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, sizeof(ot_rpc_res_tab_key) + 1);
6868

6969
nrf_rpc_encode_uint(&ctx, key);
7070
nrf_rpc_cbor_cmd_rsp_no_err(&ot_group, OT_RPC_CMD_MESSAGE_FREE, &ctx);
@@ -77,7 +77,7 @@ void otMessageFree(otMessage *aMessage)
7777
uint16_t otMessageGetLength(const otMessage *aMessage)
7878
{
7979
struct nrf_rpc_cbor_ctx ctx;
80-
ot_msg_key key = (ot_msg_key)aMessage;
80+
ot_rpc_res_tab_key key = (ot_rpc_res_tab_key)aMessage;
8181
uint16_t ret = 0;
8282

8383
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, sizeof(uint32_t) + 1);
@@ -98,7 +98,7 @@ uint16_t otMessageGetLength(const otMessage *aMessage)
9898
uint16_t otMessageGetOffset(const otMessage *aMessage)
9999
{
100100
struct nrf_rpc_cbor_ctx ctx;
101-
ot_msg_key key = (ot_msg_key)aMessage;
101+
ot_rpc_res_tab_key key = (ot_rpc_res_tab_key)aMessage;
102102
uint16_t ret = 0;
103103

104104
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, sizeof(uint32_t) + 1);
@@ -119,7 +119,7 @@ uint16_t otMessageGetOffset(const otMessage *aMessage)
119119
uint16_t otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)
120120
{
121121
struct nrf_rpc_cbor_ctx ctx;
122-
ot_msg_key key = (ot_msg_key)aMessage;
122+
ot_rpc_res_tab_key key = (ot_rpc_res_tab_key)aMessage;
123123
size_t size = 0;
124124
const void *buf = NULL;
125125

subsys/net/openthread/rpc/client/ot_rpc_netdiag.c

+3-2
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,9 @@ otError otThreadGetNextDiagnosticTlv(const otMessage *aMessage, otNetworkDiagIte
192192
struct nrf_rpc_cbor_ctx ctx;
193193
otError error;
194194

195-
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, sizeof(ot_msg_key) + 2 + sizeof(otNetworkDiagIterator));
196-
nrf_rpc_encode_uint(&ctx, (ot_msg_key)aMessage);
195+
NRF_RPC_CBOR_ALLOC(&ot_group, ctx, sizeof(ot_rpc_res_tab_key) + 2 +
196+
sizeof(otNetworkDiagIterator));
197+
nrf_rpc_encode_uint(&ctx, (ot_rpc_res_tab_key)aMessage);
197198
nrf_rpc_encode_uint(&ctx, *aIterator);
198199
nrf_rpc_cbor_cmd_rsp_no_err(&ot_group, OT_RPC_CMD_THREAD_GET_NEXT_DIAGNOSTIC_TLV, &ctx);
199200

subsys/net/openthread/rpc/client/ot_rpc_udp.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static void ot_rpc_cmd_udp_receive_cb(const struct nrf_rpc_group *group,
9090
struct nrf_rpc_cbor_ctx *ctx, void *handler_data)
9191
{
9292
otMessageInfo message_info;
93-
ot_msg_key msg_key = 0;
93+
ot_rpc_res_tab_key msg_key = 0;
9494
ot_socket_key soc_key = 0;
9595
otUdpSocket *socket;
9696

@@ -143,7 +143,7 @@ otError otUdpSend(otInstance *aInstance, otUdpSocket *aSocket, otMessage *aMessa
143143
{
144144
struct nrf_rpc_cbor_ctx ctx;
145145
ot_socket_key soc_key = (ot_socket_key)aSocket;
146-
ot_msg_key msg_key = (ot_msg_key)aMessage;
146+
ot_rpc_res_tab_key msg_key = (ot_rpc_res_tab_key)aMessage;
147147
otError error = OT_ERROR_NONE;
148148

149149
ARG_UNUSED(aInstance);

subsys/net/openthread/rpc/common/ot_rpc_types.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ enum ot_rpc_link_mode_offsets {
3030
OT_RPC_LINK_MODE_NETWORK_DATA_OFFSET = 2,
3131
};
3232

33-
/** @brief Key type of internal otMesage registry.
33+
/** @brief Key type for internal registry.
3434
*/
35-
typedef uint32_t ot_msg_key;
35+
typedef uint32_t ot_rpc_res_tab_key;
3636

3737
/** @brief Key type of internal otUdpSocket registry.
3838
*/

0 commit comments

Comments
 (0)