11344 Commits

Author SHA1 Message Date
Matthias Ringwald
132f11c078 mesh: implement mesh_upper_transport_request_to_send 2020-08-08 19:47:49 +02:00
Matthias Ringwald
643aa44b85 mesh: add mesh_upper_transport_schedule_send_requests and mesh_upper_transport_send_requests_pending 2020-08-08 19:47:48 +02:00
Matthias Ringwald
5efae9f328 mesh: wait until message builder is ready before delivering access pdu to access layer 2020-08-08 19:47:48 +02:00
Matthias Ringwald
3fa4c16cca mesh: add mesh_network_notify_on_freed_pdu 2020-08-08 19:47:48 +02:00
Matthias Ringwald
f82a583aa1 mesh: implement mesh_upper_transport_message_reserve 2020-08-08 19:47:48 +02:00
Matthias Ringwald
832a0cf57b mesh: add API docs for mesh_upper_transport API 2020-08-08 19:47:48 +02:00
Matthias Ringwald
4802c66d6b mesh: rework setup and send of upper transport control pdus 2020-08-08 19:47:48 +02:00
Matthias Ringwald
734bae6528 mesh: replace mesh_upper_transport_setup_access_pdu with message builder 2020-08-08 19:47:48 +02:00
Matthias Ringwald
96a83bdb1f mesh: add missing parentheses, track upper transport pdu len 2020-08-08 19:47:48 +02:00
Matthias Ringwald
16f259db21 mesh: remove dead code 2020-08-08 19:47:48 +02:00
Matthias Ringwald
8661c58f36 mesh: remove transmic_len from mesh_access_pdu_t 2020-08-08 19:47:48 +02:00
Matthias Ringwald
354884c7cd mesh: replace ack and incomplete timer active uint8_t with bits in mesh_segmented->flags 2020-08-08 19:47:48 +02:00
Matthias Ringwald
bd9154554d mesh: use seq & 0x1fff instead of storing seq_zero explicitly in mesh_segmented_pdu 2020-08-08 19:47:48 +02:00
Matthias Ringwald
ce3f9fef6c mesh: use MESH_TRANSPORT_FLAG_TRANSMIC_64 to store transmic_len in mesh_upper_transport_pdu 2020-08-08 19:47:48 +02:00
Matthias Ringwald
b30b4f6e7d mesh: use MESH_TRANSPORT_FLAG_TRANSMIC_64 to store transmic_len in mesh_segmented_pdu 2020-08-08 19:47:48 +02:00
Matthias Ringwald
e582866887 mesh: set trasnmic_len and aid from first segment 2020-08-08 19:47:48 +02:00
Matthias Ringwald
cd15e00373 mesh: limit number of outgoing segmented messages in parallel 2020-08-08 19:47:48 +02:00
Matthias Ringwald
a43313399c mesh: park segmented messages that wait for ack in list, allow sending of multiple segmented messages in parallel 2020-08-08 19:47:48 +02:00
Matthias Ringwald
6d21251015 mesh: pass pointer to segmented message in outgoing timer related functions 2020-08-08 19:47:48 +02:00
Matthias Ringwald
f874399c66 mesh: re-queue un-acked segmented messages instead of sending them back to back 2020-08-08 19:47:48 +02:00
Matthias Ringwald
e3f8b4e7e5 mesh: introduce mesh_lower_transport_outgoing_message_for_dst 2020-08-08 19:47:48 +02:00
Matthias Ringwald
27e8a9aad4 mesh: streamline lower transport, separate incoming and outgoing code, set timer context to segmented message 2020-08-08 19:47:48 +02:00
Matthias Ringwald
b4977f3541 mesh: set retry count for segmented messages in mesh_lower_transport_send_dpu 2020-08-08 19:47:48 +02:00
Matthias Ringwald
79eb95b0a5 mesh: sort lower transport, mesh_messge_pdu_get -> mesh_segmented_pdu_get, use bool for flags 2020-08-08 19:47:48 +02:00
Matthias Ringwald
764c8f0dbd mesh: store lower transport retry count in mesh_segment_pdu_t 2020-08-08 19:47:48 +02:00
Matthias Ringwald
16fd08f928 mesh: compact incoming segmented messages in lower + upper transport 2020-08-08 19:47:48 +02:00
Matthias Ringwald
8a12916698 mesh: segments for control messages are only 8 bytes 2020-08-08 19:47:48 +02:00
Matthias Ringwald
5236fe42ab mesh: fix use of wrong enum in mesh_lower_transport_deliver_to_higher_layer 2020-08-08 19:47:48 +02:00
Matthias Ringwald
ce16a729ff mesh: store current segment in mesh-upper-transport-builder 2020-08-08 19:47:48 +02:00
Matthias Ringwald
f12194469a mesh: introduce mesh_upper_transport_builder 2020-08-08 19:47:48 +02:00
Matthias Ringwald
923523a338 mesh: track alloc error in message builder finalize 2020-08-08 19:47:48 +02:00
Matthias Ringwald
eeaf8ec172 mesh: introduce finalize function for access and upper transport builders 2020-08-08 19:47:48 +02:00
Matthias Ringwald
d8b26ece66 mesh: extract mesh_upper_transport_message builder from mesh_access_message builder 2020-08-08 19:47:48 +02:00
Matthias Ringwald
9efa7aca08 mesh: extend mesh_upper_transport_pdu_free to handle mesh_upper_transport_pdus 2020-08-08 19:47:48 +02:00
Matthias Ringwald
ad3a646c65 mesh: streamline mesh-access-parser uint getter names 2020-08-08 19:47:48 +02:00
Matthias Ringwald
edc441d25e mesh: update access message builder 2020-08-08 19:47:48 +02:00
Matthias Ringwald
0323b88958 mesh: remove num_segments and segmented flag from access message builder 2020-08-08 19:47:48 +02:00
Matthias Ringwald
6f13b0f4dc mesh: use single access builder 2020-08-08 19:47:48 +02:00
Matthias Ringwald
039cbf1d6c mesh: use mesh_upper_transport_pdu_t for all access messages, remove mesh_transport_pdu_t 2020-08-08 19:47:48 +02:00
Matthias Ringwald
53c7dafa1c mesh: minimal compile fix 2020-08-08 19:47:48 +02:00
Matthias Ringwald
e1c526dc32 mesh: inline mesh_access_x getters for acknowledged messages 2020-08-08 19:47:48 +02:00
Matthias Ringwald
2ddfd9e22b mesh: remove mesh_access_pdu_t getters 2020-08-08 19:47:48 +02:00
Matthias Ringwald
3945bdb632 mesh: remove mesh_message_pdu_t getters (mesh_message_*) 2020-08-08 19:47:48 +02:00
Matthias Ringwald
7cb45abf1b mesh: replace network_header in mesh_segmented_pdu by individual fields 2020-08-08 19:47:48 +02:00
Matthias Ringwald
a249589839 mesh: replace network_header in mesh_control_pdu_t by individual fields 2020-08-08 19:47:48 +02:00
Matthias Ringwald
c3fc3eea49 mesh: replace network_header in mesh_access_pdu_t by individual fields 2020-08-08 19:47:48 +02:00
Matthias Ringwald
274c04d6a2 mesh: remove incoming_access_pdu_encrypted_singleton pdu 2020-08-08 19:47:48 +02:00
Matthias Ringwald
da49152527 mesh: free incoming encrypted access pdu until fully processed 2020-08-08 19:47:48 +02:00
Matthias Ringwald
8fb906aa4a mesh: use union for mesh-access and mesh-control pdu singletons, use mesh-access singleton as crypto buffer 2020-08-08 19:47:48 +02:00
Matthias Ringwald
5368239bb9 mesh: allocate segments for segmented access pdu in run function 2020-08-08 19:47:48 +02:00