andrzej-kaczmarek commented on issue #1291: URL: https://github.com/apache/mynewt-nimble/issues/1291#issuecomment-1183559883
Checking SN in `ble_ll_conn_rx_isr_end` does only mean that previously txd PDU was acked, but the spec does not say anything about acking, it just states that a valid non-empty PDU has to be txd/rxd: > A continuation event is a connection event where, in at least one of the previous connContinuationNumber connection events (ignoring any before the last subrated connection event), **at least one packet was transmitted or validly received containing a Link Layer PDU with a non-zero Length field**. So `has_nonempty_pdu` is set in two cases: - for tx, when `ble_phy_tx` for non-empty PDU was successful, meaning it will be txd - for rx, in `ble_ll_conn_rx_data_pdu` when rxd PDU was determined to be valid and is non-empty There's one small catch for tx: in theory it's possible that radio will be disabled prior/during tx so in fact PDU will not be transmissted, but at the moment we do not handle this properly; also it likely won't be even noticed irl. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@mynewt.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org