• Home
  • Raw
  • Download

Lines Matching refs:packet

87 static void fragment_and_dispatch(BT_HDR* packet, uint16_t max_data_size) {  in fragment_and_dispatch()  argument
88 log::assert_that(packet != NULL, "assert failed: packet != NULL"); in fragment_and_dispatch()
90 uint16_t event = packet->event & MSG_EVT_MASK; in fragment_and_dispatch()
95 uint8_t* stream = packet->data + packet->offset; in fragment_and_dispatch()
97 uint16_t remaining_length = packet->len; in fragment_and_dispatch()
102 if (packet->layer_specific & BT_ISO_HDR_CONTAINS_TS) { in fragment_and_dispatch()
108 stream = packet->data + packet->offset; in fragment_and_dispatch()
113 stream = packet->data + packet->offset; in fragment_and_dispatch()
117 packet->len = max_packet_size; in fragment_and_dispatch()
118 callbacks->fragmented(packet, false); in fragment_and_dispatch()
120 packet->offset += max_data_size; in fragment_and_dispatch()
122 packet->len = remaining_length; in fragment_and_dispatch()
125 stream = packet->data + packet->offset; in fragment_and_dispatch()
134 callbacks->fragmented(packet, true); in fragment_and_dispatch()
137 static void reassemble_and_dispatch(BT_HDR* packet) { in reassemble_and_dispatch() argument
138 uint8_t* stream = packet->data; in reassemble_and_dispatch()
145 uint16_t event = packet->event & MSG_EVT_MASK; in reassemble_and_dispatch()
154 log::assert_that(iso_length == packet->len - HCI_ISO_PREAMBLE_SIZE, in reassemble_and_dispatch()
181 packet->layer_specific |= BT_ISO_HDR_CONTAINS_TS; in reassemble_and_dispatch()
186 log::warn("ISO packet too small ({} < {}). Dropping it.", packet->len, iso_hdr_len); in reassemble_and_dispatch()
187 buffer_allocator->free(packet); in reassemble_and_dispatch()
197 buffer_allocator->free(packet); in reassemble_and_dispatch()
211 buffer_allocator->free(packet); in reassemble_and_dispatch()
215 if (((boundary_flag == HCI_ISO_BF_COMPLETE_PACKET) && (iso_full_len != packet->len)) || in reassemble_and_dispatch()
217 (iso_full_len <= packet->len))) { in reassemble_and_dispatch()
219 buffer_allocator->free(packet); in reassemble_and_dispatch()
226 buffer_allocator->free(packet); in reassemble_and_dispatch()
230 partial_packet->event = packet->event; in reassemble_and_dispatch()
232 partial_packet->layer_specific = packet->layer_specific; in reassemble_and_dispatch()
234 memcpy(partial_packet->data, packet->data, packet->len); in reassemble_and_dispatch()
242 partial_packet->offset = packet->len; in reassemble_and_dispatch()
245 packet->layer_specific |= BT_ISO_HDR_OFFSET_POINTS_DATA; in reassemble_and_dispatch()
250 buffer_allocator->free(packet); in reassemble_and_dispatch()
258 buffer_allocator->free(packet); in reassemble_and_dispatch()
263 if (partial_packet->len < (partial_packet->offset + packet->len - HCI_ISO_PREAMBLE_SIZE)) { in reassemble_and_dispatch()
268 buffer_allocator->free(packet); in reassemble_and_dispatch()
274 memcpy(partial_packet->data + partial_packet->offset, packet->data + HCI_ISO_PREAMBLE_SIZE, in reassemble_and_dispatch()
275 packet->len - HCI_ISO_PREAMBLE_SIZE); in reassemble_and_dispatch()
278 partial_packet->offset += packet->len - HCI_ISO_PREAMBLE_SIZE; in reassemble_and_dispatch()
279 buffer_allocator->free(packet); in reassemble_and_dispatch()
283 if (partial_packet->len != partial_packet->offset + packet->len - HCI_ISO_PREAMBLE_SIZE) { in reassemble_and_dispatch()
288 buffer_allocator->free(packet); in reassemble_and_dispatch()
302 buffer_allocator->free(packet); in reassemble_and_dispatch()
310 buffer_allocator->free(packet); in reassemble_and_dispatch()