mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-09 21:45:54 +00:00
mesh: pass pointer to segmented message in outgoing timer related functions
This commit is contained in:
parent
f874399c66
commit
6d21251015
@ -718,16 +718,16 @@ static void mesh_lower_transport_outgoing_send_next_segment(void){
|
|||||||
mesh_network_send_pdu(lower_transport_outgoing_segment);
|
mesh_network_send_pdu(lower_transport_outgoing_segment);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mesh_lower_transport_outgoing_setup_sending_segmented_pdus(void){
|
static void mesh_lower_transport_outgoing_setup_sending_segmented_pdus(mesh_segmented_pdu_t *segmented_pdu) {
|
||||||
printf("[+] Lower Transport, segmented pdu %p, seq %06x: send retry count %u\n", lower_transport_outgoing_message,
|
printf("[+] Lower Transport, segmented pdu %p, seq %06x: send retry count %u\n", segmented_pdu,
|
||||||
lower_transport_outgoing_message->seq, lower_transport_outgoing_message->retry_count);
|
segmented_pdu->seq, segmented_pdu->retry_count);
|
||||||
lower_transport_outgoing_message->retry_count--;
|
segmented_pdu->retry_count--;
|
||||||
lower_transport_outgoing_seg_o = 0;
|
lower_transport_outgoing_seg_o = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mesh_lower_transport_outgoing_segment_transmission_fired(void){
|
static void mesh_lower_transport_outgoing_segment_transmission_fired(mesh_segmented_pdu_t *segmented_pdu) {
|
||||||
// once more?
|
// once more?
|
||||||
if (lower_transport_outgoing_message->retry_count == 0){
|
if (segmented_pdu->retry_count == 0){
|
||||||
printf("[!] Lower transport, segmented pdu %p, seq %06x: send failed, retries exhausted\n", lower_transport_outgoing_message,
|
printf("[!] Lower transport, segmented pdu %p, seq %06x: send failed, retries exhausted\n", lower_transport_outgoing_message,
|
||||||
lower_transport_outgoing_message->seq);
|
lower_transport_outgoing_message->seq);
|
||||||
mesh_lower_transport_outgoing_complete();
|
mesh_lower_transport_outgoing_complete();
|
||||||
@ -735,12 +735,12 @@ static void mesh_lower_transport_outgoing_segment_transmission_fired(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LOG_LOWER_TRANSPORT
|
#ifdef LOG_LOWER_TRANSPORT
|
||||||
printf("[+] Lower transport, segmented pdu %p, seq %06x: transmission fired\n", lower_transport_outgoing_message,
|
printf("[+] Lower transport, segmented pdu %p, seq %06x: transmission fired\n", segmented_pdu,
|
||||||
lower_transport_outgoing_message->seq);
|
segmented_pdu->seq);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// send remaining segments again
|
// send remaining segments again
|
||||||
mesh_lower_transport_outgoing_setup_sending_segmented_pdus();
|
mesh_lower_transport_outgoing_setup_sending_segmented_pdus(segmented_pdu);
|
||||||
// send next segment
|
// send next segment
|
||||||
mesh_lower_transport_outgoing_send_next_segment();
|
mesh_lower_transport_outgoing_send_next_segment();
|
||||||
}
|
}
|
||||||
@ -756,7 +756,7 @@ static void mesh_lower_transport_outgoing_segment_transmission_timeout(btstack_t
|
|||||||
if (lower_transport_outgoing_segment_at_network_layer){
|
if (lower_transport_outgoing_segment_at_network_layer){
|
||||||
lower_transport_outgoing_transmission_timeout = true;
|
lower_transport_outgoing_transmission_timeout = true;
|
||||||
} else {
|
} else {
|
||||||
mesh_lower_transport_outgoing_segment_transmission_fired();
|
mesh_lower_transport_outgoing_segment_transmission_fired(segmented_pdu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -786,7 +786,7 @@ static void mesh_lower_transport_network_pdu_sent(mesh_network_pdu_t *network_pd
|
|||||||
if (lower_transport_outgoing_transmission_timeout){
|
if (lower_transport_outgoing_transmission_timeout){
|
||||||
// handle timeout
|
// handle timeout
|
||||||
lower_transport_outgoing_transmission_timeout = false;
|
lower_transport_outgoing_transmission_timeout = false;
|
||||||
mesh_lower_transport_outgoing_segment_transmission_fired();
|
mesh_lower_transport_outgoing_segment_transmission_fired(lower_transport_outgoing_message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -937,7 +937,7 @@ static void mesh_lower_transport_run(void){
|
|||||||
lower_transport_outgoing_transmission_timeout = false;
|
lower_transport_outgoing_transmission_timeout = false;
|
||||||
lower_transport_outgoing_transmission_complete = false;
|
lower_transport_outgoing_transmission_complete = false;
|
||||||
mesh_lower_transport_outgoing_setup_block_ack(message_pdu);
|
mesh_lower_transport_outgoing_setup_block_ack(message_pdu);
|
||||||
mesh_lower_transport_outgoing_setup_sending_segmented_pdus();
|
mesh_lower_transport_outgoing_setup_sending_segmented_pdus(message_pdu);
|
||||||
mesh_lower_transport_outgoing_send_next_segment();
|
mesh_lower_transport_outgoing_send_next_segment();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user