Lines Matching refs:client_ctx
135 int lwm2m_open_socket(struct lwm2m_ctx *client_ctx) in lwm2m_open_socket() argument
137 if (client_ctx->sock_fd < 0) { in lwm2m_open_socket()
140 if (IS_ENABLED(CONFIG_LWM2M_DTLS_SUPPORT) && client_ctx->use_dtls) { in lwm2m_open_socket()
141 client_ctx->sock_fd = zsock_socket(client_ctx->remote_addr.sa_family, in lwm2m_open_socket()
144 client_ctx->sock_fd = in lwm2m_open_socket()
145 zsock_socket(client_ctx->remote_addr.sa_family, SOCK_DGRAM, in lwm2m_open_socket()
149 if (client_ctx->sock_fd < 0) { in lwm2m_open_socket()
154 if (lwm2m_socket_update(client_ctx)) { in lwm2m_open_socket()
155 return lwm2m_socket_add(client_ctx); in lwm2m_open_socket()
162 int lwm2m_close_socket(struct lwm2m_ctx *client_ctx) in lwm2m_close_socket() argument
164 if (client_ctx->sock_fd >= 0) { in lwm2m_close_socket()
165 int ret = zsock_close(client_ctx->sock_fd); in lwm2m_close_socket()
174 client_ctx->sock_fd = -1; in lwm2m_close_socket()
175 client_ctx->connection_suspended = true; in lwm2m_close_socket()
178 client_ctx->buffer_client_messages = true; in lwm2m_close_socket()
180 lwm2m_socket_update(client_ctx); in lwm2m_close_socket()
185 int lwm2m_socket_suspend(struct lwm2m_ctx *client_ctx) in lwm2m_socket_suspend() argument
189 if (client_ctx->sock_fd >= 0 && !client_ctx->connection_suspended) { in lwm2m_socket_suspend()
190 int socket_temp_id = client_ctx->sock_fd; in lwm2m_socket_suspend()
193 client_ctx->sock_fd = -1; in lwm2m_socket_suspend()
195 lwm2m_close_socket(client_ctx); in lwm2m_socket_suspend()
197 client_ctx->sock_fd = socket_temp_id; in lwm2m_socket_suspend()
199 if (client_ctx->set_socket_state) { in lwm2m_socket_suspend()
200 client_ctx->set_socket_state(client_ctx->sock_fd, in lwm2m_socket_suspend()
208 int lwm2m_engine_connection_resume(struct lwm2m_ctx *client_ctx) in lwm2m_engine_connection_resume() argument
212 if (client_ctx->connection_suspended) { in lwm2m_engine_connection_resume()
216 lwm2m_socket_update(client_ctx); in lwm2m_engine_connection_resume()
217 client_ctx->connection_suspended = false; in lwm2m_engine_connection_resume()
220 lwm2m_close_socket(client_ctx); in lwm2m_engine_connection_resume()
221 ret = lwm2m_open_socket(client_ctx); in lwm2m_engine_connection_resume()
225 client_ctx->connection_suspended = false; in lwm2m_engine_connection_resume()
226 return lwm2m_socket_start(client_ctx); in lwm2m_engine_connection_resume()
233 int lwm2m_push_queued_buffers(struct lwm2m_ctx *client_ctx) in lwm2m_push_queued_buffers() argument
236 client_ctx->buffer_client_messages = false; in lwm2m_push_queued_buffers()
237 lwm2m_client_lock(client_ctx); in lwm2m_push_queued_buffers()
238 while (!sys_slist_is_empty(&client_ctx->queued_messages)) { in lwm2m_push_queued_buffers()
239 sys_snode_t *msg_node = sys_slist_get(&client_ctx->queued_messages); in lwm2m_push_queued_buffers()
249 lwm2m_client_unlock(client_ctx); in lwm2m_push_queued_buffers()
254 bool lwm2m_engine_bootstrap_override(struct lwm2m_ctx *client_ctx, struct lwm2m_obj_path *path) in lwm2m_engine_bootstrap_override() argument
256 if (!client_ctx->bootstrap_mode) { in lwm2m_engine_bootstrap_override()
365 static int64_t retransmit_request(struct lwm2m_ctx *client_ctx, const int64_t timestamp) in retransmit_request() argument
372 lwm2m_client_lock(client_ctx); in retransmit_request()
374 for (i = 0, p = client_ctx->pendings; i < ARRAY_SIZE(client_ctx->pendings); i++, p++) { in retransmit_request()
411 lwm2m_client_unlock(client_ctx); in retransmit_request()
689 static int socket_recv_message(struct lwm2m_ctx *client_ctx) in socket_recv_message() argument
697 len = zsock_recvfrom(client_ctx->sock_fd, in_buf, sizeof(in_buf) - 1, ZSOCK_MSG_DONTWAIT, in socket_recv_message()
706 if (client_ctx->fault_cb != NULL) { in socket_recv_message()
707 client_ctx->fault_cb(errno); in socket_recv_message()
718 lwm2m_udp_receive(client_ctx, in_buf, len, &from_addr); in socket_recv_message()
943 static int load_tls_type(struct lwm2m_ctx *client_ctx, uint16_t res_id, in load_tls_type() argument
951 ret = lwm2m_get_res_buf(&LWM2M_OBJ(0, client_ctx->sec_obj_inst, res_id), &cred, &max_len, in load_tls_type()
954 LOG_ERR("Unable to get resource data for %d/%d/%d", 0, client_ctx->sec_obj_inst, in load_tls_type()
976 ret = tls_credential_add(client_ctx->tls_tag, type, cred, cred_len); in load_tls_type()
978 LOG_ERR("Error setting cred tag %d type %d: Error %d", client_ctx->tls_tag, type, in load_tls_type()
1170 int lwm2m_socket_start(struct lwm2m_ctx *client_ctx) in lwm2m_socket_start() argument
1177 if (client_ctx->use_dtls) { in lwm2m_socket_start()
1178 if (client_ctx->load_credentials) { in lwm2m_socket_start()
1179 ret = client_ctx->load_credentials(client_ctx); in lwm2m_socket_start()
1181 ret = lwm2m_load_tls_credentials(client_ctx); in lwm2m_socket_start()
1189 if (client_ctx->sock_fd < 0) { in lwm2m_socket_start()
1190 ret = lwm2m_open_socket(client_ctx); in lwm2m_socket_start()
1196 if (client_ctx->set_socketoptions) { in lwm2m_socket_start()
1197 ret = client_ctx->set_socketoptions(client_ctx); in lwm2m_socket_start()
1199 ret = lwm2m_set_default_sockopt(client_ctx); in lwm2m_socket_start()
1205 if ((client_ctx->remote_addr).sa_family == AF_INET) { in lwm2m_socket_start()
1207 } else if ((client_ctx->remote_addr).sa_family == AF_INET6) { in lwm2m_socket_start()
1214 if (zsock_connect(client_ctx->sock_fd, &client_ctx->remote_addr, addr_len) < 0) { in lwm2m_socket_start()
1220 flags = zsock_fcntl(client_ctx->sock_fd, F_GETFL, 0); in lwm2m_socket_start()
1226 ret = zsock_fcntl(client_ctx->sock_fd, F_SETFL, flags | O_NONBLOCK); in lwm2m_socket_start()
1233 LOG_INF("Connected, sock id %d", client_ctx->sock_fd); in lwm2m_socket_start()
1236 lwm2m_socket_close(client_ctx); in lwm2m_socket_start()
1240 int lwm2m_socket_close(struct lwm2m_ctx *client_ctx) in lwm2m_socket_close() argument
1242 int sock_fd = client_ctx->sock_fd; in lwm2m_socket_close()
1244 lwm2m_socket_del(client_ctx); in lwm2m_socket_close()
1245 client_ctx->sock_fd = -1; in lwm2m_socket_close()
1253 int lwm2m_engine_stop(struct lwm2m_ctx *client_ctx) in lwm2m_engine_stop() argument
1255 lwm2m_engine_context_close(client_ctx); in lwm2m_engine_stop()
1257 return lwm2m_socket_close(client_ctx); in lwm2m_engine_stop()
1260 int lwm2m_engine_start(struct lwm2m_ctx *client_ctx) in lwm2m_engine_start() argument
1268 ret = lwm2m_get_res_buf(&LWM2M_OBJ(0, client_ctx->sec_obj_inst, 0), (void **)&url, NULL, in lwm2m_engine_start()
1275 ret = lwm2m_parse_peerinfo(url, client_ctx, false); in lwm2m_engine_start()
1280 return lwm2m_socket_start(client_ctx); in lwm2m_engine_start()