pw_bluetooth_proxy#

Lightweight proxy for augmenting Bluetooth functionality

Unstable C++17

The pw_bluetooth_proxy module provides a lightweight proxy host that can be placed between a Bluetooth host and Bluetooth controller to add additional functionality or inspection. All without modifying the host or the controller.

An example use case could be offloading some functionality from a main host located on the application processor to instead be handled on the MCU (to reduce power usage).

The proxy acts as a proxy of all host controller interface (HCI) packets between the host and the controller.

pw::bluetooth::proxy::ProxyHost acts as the main coordinator for proxy functionality.

#include "pw_bluetooth_proxy/proxy_host.h"

  // Container creates ProxyHost .
  ProxyHost proxy = ProxyHost(std::move(container_send_to_host_fn),
                              std::move(container_send_to_controller_fn),
                              /*le_acl_credits_to_reserve=*/2,
                              /*br_edr_acl_credits_to_reserve=*/0);

  // Container passes H4 packets from host through proxy. Proxy will in turn
  // call the container-provided `container_send_to_controller_fn` to pass them
  // on to the controller. Some packets may be modified, added, or removed.
  proxy.HandleH4HciFromHost(std::move(h4_packet_from_host));

  // Container passes H4 packets from controller through proxy. Proxy will in
  // turn call the container-provided `container_send_to_host_fn` to pass them
  // on to the controller. Some packets may be modified, added, or removed.
  proxy.HandleH4HciFromController(std::move(h4_packet_from_controller));
Get Started

How to set up in your build system

API Reference

Reference information about the API

Roadmap

Upcoming plans

Code size analysis

Understand code footprint and savings potential

Get started#

  1. Add Emboss to your project as described in Emboss.

Bazel isn’t supported yet.

2. Then add $dir_pw_bluetooth_proxy to the deps list in your pw_executable() build target:

pw_executable("...") {
  # ...
  deps = [
    # ...
    "$dir_pw_bluetooth_proxy",
    # ...
  ]
}

2. Then add pw_bluetooth_proxy to the DEPS list in your cmake target:

This module depends on pw_multibuf, and can use either the older v1 or newer v2 MultiBuf API, depending on the module configuration. By default, the v1 MultiBuf API is in use. When migrating to the v2 API, set the value of the PW_BLUETOOTH_PROXY_MULTIBUF option to PW_BLUETOOTH_PROXY_MULTIBUF_V2.

API reference#

Moved: pw_bluetooth_proxy

Code size analysis#

Delta when constructing a proxy and just sending packets through.

Label

Segment

Delta

Create and use proxy as a simple passthrough

FLASH

+28,452

[section .rodata]

+160

pw::Result<>::value()

-12

vClearInterruptMaskFromISR

+212

main

-4

operator delete()

NEW

+2,200

emboss::support::ContiguousBuffer<>::GetOffsetStorage<>()

NEW

+1,426

pw::bluetooth::proxy::internal::L2capLogicalLink::HandleAclData()

NEW

+1,162

pw::bluetooth::MakeEmbossView<>()

NEW

+720

pw::Result<>::operator->()

NEW

+716

emboss::prelude::UIntView<>::Ok()

NEW

+560

pw::bluetooth::proxy::L2capChannelManager::DrainChannelQueuesIfNewTx()

NEW

+504

pw::bluetooth::proxy::L2capSignalingChannel::HandleConfigurationReq()

NEW

+482

pw::bluetooth::MakeEmbossWriter<>()

NEW

+480

pw::Result<>::operator*()

NEW

+432

emboss::prelude::UIntView<>::Read()

NEW

+412

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::Ok()

NEW

+412

pw::bluetooth::proxy::L2capSignalingChannel::HandleL2capSignalingCommand()

NEW

+396

pw::bluetooth::proxy::L2capSignalingChannel::SendFlowControlCreditInd()

NEW

+394

emboss::support::BitBlock<>::GetOffsetStorage<>()

NEW

+392

pw::bluetooth::proxy::AclDataChannel::HandleNumberOfCompletedPacketsEvent()

NEW

+376

pw::containers::internal::KeyedAATree<>::InsertImpl()

NEW

+372

xQueueSemaphoreTake

NEW

+364

pw::bluetooth::proxy::ProxyHost::HandleEventFromController()

NEW

+356

pw::bluetooth::proxy::L2capChannel::PopulateL2capPacket()

NEW

+350

emboss::prelude::UIntView<>::TryToWrite<>()

NEW

+332

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::Ok()

NEW

+332

pw::bluetooth::proxy::AclDataChannel::HandleAclData()

NEW

+328

pw::bluetooth::proxy::AclDataChannel::ProcessSpecificLEReadBufferSizeCommandCompleteEvent<>()

NEW

+324

emboss::prelude::UIntView<>::Write<>()

NEW

+316

pw::bluetooth::proxy::L2capSignalingChannel::HandleConnectionRsp()

NEW

+304

pw::bluetooth::proxy::BasicL2capChannel::GenerateNextTxPacket()

NEW

+304

pw::bluetooth::proxy::L2capSignalingChannel::HandleConfigurationRsp()

NEW

+300

pw::bluetooth::proxy::ProxyHost::HandleLeMetaEvent()

NEW

+280

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::Ok()

NEW

+260

fit::internal::target<>::ops

NEW

+260

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::Ok()

NEW

+248

pw::bluetooth::proxy::ProxyHost::HandleCommandCompleteEvent()

NEW

+240

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::Ok()

NEW

+224

pw::bluetooth::proxy::L2capChannelManager::HandleAclDisconnectionComplete()

NEW

+216

pw::bluetooth::proxy::L2capSignalingChannel::OnCFramePayload()

NEW

+198

fit::internal::target<>::invoke()

NEW

+196

pw::containers::internal::KeyedAATree<>::insert()

NEW

+192

emboss::support::OffsetBitBlock<>::ReadUInt()

NEW

+192

pw::bluetooth::emboss::GenericL2capSignalingCommandHeaderView<>::Ok()

NEW

+192

pw::bluetooth::proxy::L2capChannel::SendPayloadToClient()

NEW

+188

pw::bluetooth::proxy::L2capChannel::L2capChannel()

NEW

+188

pw::bluetooth::proxy::L2capSignalingChannel::L2capSignalingChannel()

NEW

+188

pw::bluetooth::proxy::Recombiner::RecombineFragment()

NEW

+184

pw::bluetooth::emboss::AclDataFrameHeader::GenericEmbossReservedAnonymousField4View<>::Ok()

NEW

+184

pw::bluetooth::emboss::GenericL2capConnectionReqView<>::Ok()

NEW

+184

pw::bluetooth::emboss::GenericL2capDisconnectionReqView<>::Ok()

NEW

+184

pw::bluetooth::emboss::GenericL2capDisconnectionRspView<>::Ok()

NEW

+184

pw::containers::internal::AATreeItem::Rebalance()

NEW

+180

pw::bluetooth::emboss::GenericL2capFlowControlCreditIndView<>::Ok()

NEW

+180

pw::containers::internal::AATree<>::AATree()

NEW

+176

emboss::support::ContiguousBuffer<>::ReadLittleEndianUInt<>()

NEW

+172

pw::bluetooth::proxy::AclDataChannel::SendAcl()

NEW

+168

pw::bluetooth::emboss::GenericBasicL2capHeaderView<>::Ok()

NEW

+168

pw::containers::internal::KeyedAATree<>::GetLowerBoundImpl()

NEW

+168

vTaskPriorityDisinheritAfterTimeout

NEW

+164

pw::allocator::BlockAllocator<>::DoGetInfo()

NEW

+164

pw::bluetooth::proxy::AclDataChannel::ProcessDisconnectionCompleteEvent()

NEW

+162

pw::multibuf::MultiBuf::CopyFromAndOptionallyTruncate()

NEW

+160

pw::allocator::AllocatableBlock<>::DoResize()

NEW

+160

pw::bluetooth::emboss::GenericL2capMtuConfigurationOptionView<>::Ok()

NEW

+160

pw::bluetooth::proxy::L2capStatusTracker::DeliverPendingAclDisconnectionComplete()

NEW

+156

pw::bluetooth::emboss::GenericConnectionCompleteEventView<>::Ok()

NEW

+156

pw::bluetooth::proxy::L2capChannel::~L2capChannel()

NEW

+152

pw::IntrusiveMap<>::IntrusiveMap<>()

NEW

+152

pw::bluetooth::emboss::GenericCommandCompleteEventView<>::Ok()

NEW

+148

pw::allocator::AllocatableBlock<>::DoAllocLast()

NEW

+148

pw::bluetooth::proxy::L2capChannelManager::L2capChannelManager()

NEW

+148

pw::bluetooth::proxy::L2capCoc::AddTxCredits()

NEW

+144

emboss::support::EnumView<>::Ok()

NEW

+144

pw::bluetooth::proxy::L2capSignalingChannel::HandleConnectionReq()

NEW

+144

pw::containers::internal::AATreeIterator<>::operator++()

NEW

+140

pw::bluetooth::emboss::GenericBFrameView<>::Ok()

NEW

+140

pw::bluetooth::emboss::GenericCFrameView<>::Ok()

NEW

+140

pw::bluetooth::proxy::internal::L2capLogicalLink::L2capLogicalLink()

NEW

+140

xTaskPriorityInherit

NEW

+138

pw::allocator::AlignableBlock<>::DoAllocFirst()

NEW

+136

pw::allocator::BlockAllocator<>::DoAllocate()

NEW

+136

pw::allocator::BlockAllocator<>::Init()

NEW

+136

pw::bluetooth::proxy::ChannelProxy::ChannelProxy()

NEW

+136

pw::bluetooth::proxy::L2capChannelManager::GetAclH4Packet()

NEW

+136

pw::containers::internal::AATreeItem::Unmap()

NEW

+134

pw::bluetooth::proxy::L2capStatusTracker::DeliverPendingDisconnectionComplete()

NEW

+130

pw::bluetooth::proxy::L2capStatusTracker::DeliverPendingEvents()

NEW

+128

pw::bluetooth::proxy::L2capChannel::QueuePayload()

NEW

+128

pw::bluetooth::proxy::L2capChannel::StartRecombinationBuf()

NEW

+126

pw::Allocator::DoReallocate()

NEW

+124

pw::bluetooth::proxy::L2capChannel::InternalClose()

NEW

+124

pw::bluetooth::proxy::L2capChannelManager::AddConnection()

NEW

+124

pw::bluetooth::proxy::L2capChannelManager::~L2capChannelManager()

NEW

+122

pw::bluetooth::proxy::AclDataChannel::ProcessReadBufferSizeCommandCompleteEvent()

NEW

+120

pw::allocator::BlockAllocator<>::DeallocateBlock()

NEW

+118

pw::allocator::BlockAllocator<>::DoResize()

NEW

+118

pw::bluetooth::proxy::internal::L2capLogicalLink::~L2capLogicalLink()

NEW

+116

pw::allocator::FastSortedBucket<>::DoRemove()

NEW

+116

pw::bluetooth::emboss::GenericDisconnectionCompleteEventView<>::Ok()

NEW

+116

pw::bluetooth::proxy::L2capSignalingChannel::HandleFlowControlCreditInd()

NEW

+112

pw::bluetooth::emboss::GenericLEMetaEventView<>::Ok()

NEW

+112

pw::bluetooth::proxy::AclDataChannel::AclDataChannel()

NEW

+112

pw::bluetooth::proxy::AclDataChannel::Credits::Reserve()

NEW

+112

pw::bluetooth::proxy::ProxyHost::HandleCommandFromHost()

NEW

+112

pw::containers::internal::KeyedAATree<>::KeyedAATree()

NEW

+110

pw::bluetooth::proxy::L2capSignalingChannel::HandleDisconnectionRsp()

NEW

+108

emboss::support::EnumView<>::Write()

NEW

+108

pw::allocator::BlockWithLayout<>::DoFree()

NEW

+108

pw::containers::FlatMap<>::ConstexprSort()

NEW

+106

pw::bluetooth::emboss::GenericAclDataFrameView<>::Ok()

NEW

+106

pw::multibuf::Chunk::ClaimPrefix()

NEW

+106

pw::multibuf::MultiBuf::CopyTo()

NEW

+104

pw::allocator::AlignableBlock<>::DoAllocAligned()

NEW

+104

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::Ok()

NEW

+104

pw::bluetooth::proxy::BasicL2capChannel::DoHandlePduFromController()

NEW

+104

pw::bluetooth::proxy::BasicL2capChannel::HandlePduFromHost()

NEW

+104

pw::bluetooth::proxy::H4PacketWithH4::H4PacketWithH4()

NEW

+104

pw::bluetooth::proxy::L2capStatusTracker::DeliverPendingConfigurationComplete()

NEW

+104

pw::bluetooth::proxy::L2capStatusTracker::DeliverPendingConnectionComplete()

NEW

+104

pw::multibuf::Chunk::Slice()

NEW

+102

pw::allocator::FastSortedBucket<>::RemoveImpl<>()

NEW

+102

pw::bluetooth::proxy::L2capChannel::DequeuePacket()

NEW

+100

pw::bluetooth::proxy::AclDataChannel::UnregisterConnection()

NEW

+100

pw::bluetooth::proxy::L2capChannel::Stop()

NEW

+100

pw::bluetooth::proxy::L2capChannelManager::FindChannelByLocalCid()

NEW

+100

pw::bluetooth::proxy::L2capChannelManager::FindChannelByRemoteCid()

NEW

+100

pw::bluetooth::proxy::L2capSignalingChannel::DoHandlePduFromController()

NEW

+100

pw::bluetooth::proxy::L2capSignalingChannel::HandlePduFromHost()

NEW

+98

pw::allocator::AllocatableBlock<>::DoAllocFirst()

NEW

+98

pw::multibuf::MultiBuf::ContiguousSpan()

NEW

+96

emboss::support::EnumView<>::TryToWrite()

NEW

+96

emboss::support::MaybeDo<>()

NEW

+96

emboss::support::OffsetBitBlock<>::WriteUInt()

NEW

+96

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::broadcast_flag()

NEW

+96

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::handle()

NEW

+96

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::packet_boundary_flag()

NEW

+96

pw::bluetooth::emboss::GenericCommandHeaderView<>::Ok()

NEW

+96

pw::bluetooth::emboss::GenericEventHeaderView<>::Ok()

NEW

+96

pw::bluetooth::proxy::AclDataChannel::CreateAclConnection()

NEW

+96

pw::bluetooth::proxy::ProxyHost::ProxyHost()

NEW

+96

pw::multibuf::MultiBuf::DiscardPrefix()

NEW

+92

emboss::support::ContiguousBuffer<>::WriteLittleEndianUInt<>()

NEW

+92

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::MaybeRead()

NEW

+92

pw::bluetooth::proxy::BasicL2capChannel::~BasicL2capChannel()

NEW

+92

pw::bluetooth::proxy::L2capChannelManager::ResetLogicalLinksLocked()

NEW

+92

pw::bluetooth::proxy::Recombiner::TakeBuf()

NEW

+90

pw::containers::internal::AATreeItem::Split()

NEW

+88

pw::bluetooth::proxy::AclDataChannel::Reset()

NEW

+88

pw::bluetooth::proxy::L2capChannelManager::DeregisterAndCloseChannels()

NEW

+88

pw::containers::internal::GenericDeque<>::front()

NEW

+86

pw::allocator::AllocatableBlock<>::DoFree()

NEW

+86

pw::bluetooth::proxy::MultiBufAdapter::Copy()

NEW

+84

pw::bluetooth::proxy::AclDataChannel::ReserveSendCredit()

NEW

+84

pw::bluetooth::proxy::ChannelProxy::~ChannelProxy()

NEW

+84

pw::bluetooth::proxy::L2capChannel::TakeRecombinationBuf()

NEW

+84

pw::bluetooth::proxy::Recombiner::EndRecombination()

NEW

+84

pw::containers::internal::KeyedAATree<>::GetUpperBoundImpl()

NEW

+84

pw::containers::internal::KeyedAATree<>::find()

NEW

+84

pw::multibuf::MultiBuf::const_iterator::operator+=()

NEW

+80

pw::allocator::AlignableBlock<>::DoCanAlloc()

NEW

+80

pw::bluetooth::proxy::BasicL2capChannel::BasicL2capChannel()

NEW

+80

pw::bluetooth::proxy::L2capChannel::CopyToRecombinationBuf()

NEW

+80

pw::bluetooth::proxy::L2capChannelManager::DeregisterChannelLocked()

NEW

+80

pw::multibuf::MultiBuf::TruncateAfter()

NEW

+78

pw::bluetooth::emboss::GenericGenericHciCommandView<>::Ok()

NEW

+76

pw::IntrusiveMultiMap<>::IntrusiveMultiMap<>()

NEW

+76

pw::allocator::BestFitAllocator<>

NEW

+76

pw::allocator::BestFitAllocator<>::ChooseBlock()

NEW

+76

pw::allocator::BlockAllocator<>

NEW

+76

pw::allocator::internal::BucketBase<>::Add()

NEW

+76

pw::bluetooth::emboss::GenericL2capConfigurationOptionHeaderView<>::Ok()

NEW

+76

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::has_status()

NEW

+72

pw::bluetooth::emboss::GenericOpCodeBitsView<>::Ok()

NEW

+72

pw::bluetooth::proxy::BasicL2capChannel

NEW

+72

pw::bluetooth::proxy::ChannelProxy

NEW

+72

pw::bluetooth::proxy::L2capChannel::HandlePduFromController()

NEW

+72

pw::bluetooth::proxy::L2capSignalingChannel

NEW

+72

pw::bluetooth::proxy::L2capStatusTracker::HandleConfigurationChanged()

NEW

+72

pw::bluetooth::proxy::L2capStatusTracker::HandleConnectionComplete()

NEW

+72

pw::bluetooth::proxy::L2capStatusTracker::HandleDisconnectionComplete()

NEW

+72

pw::containers::internal::AATreeIterator<>::operator–()

NEW

+72

vQueueUnregisterQueue

NEW

+70

pw::GetAlignedSubspan()

NEW

+70

pw::allocator::BasicBlock<>::Init()

NEW

+70

pw::allocator::ContiguousBlock<>::DoSplitFirst()

NEW

+70

pw::bluetooth::emboss::GenericGenericHciCommandView<>::payload()

NEW

+68

emboss::support::OffsetBitBlock<>::UncheckedReadUInt()

NEW

+68

pw::allocator::BestFitAllocator<>::BestFitAllocator()

NEW

+68

pw::bluetooth::proxy::AclDataChannel::SendCredit::MarkUsed()

NEW

+68

pw::bluetooth::proxy::L2capChannel::WriteLocked()

NEW

+68

pw::bluetooth::proxy::ProxyHost::~ProxyHost()

NEW

+68

pw::bluetooth::proxy::Recombiner::StartRecombination()

NEW

+68

pw::containers::internal::AATreeItem::Skew()

NEW

+68

pw::containers::internal::KeyedAATree<>::lower_bound()

NEW

+66

pw::allocator::internal::BucketBase<>::FindPrevIf<>()

NEW

+66

pw::bluetooth::proxy::AclDataChannel::MaxDataPacketLengthForTransport()

NEW

+66

pw::containers::internal::AATree<>::~AATree()

NEW

+64

pw::allocator::ContiguousBlock<>::DoCheckInvariants()

NEW

+64

pw::allocator::PoisonableBlock<>::DoCheckInvariants()

NEW

+64

pw::bluetooth::emboss::GenericCFrameView<>::payload()

NEW

+64

pw::bluetooth::emboss::GenericNumberOfCompletedPacketsEventView<>::nocp_data()

NEW

+64

pw::bluetooth::proxy::BasicL2capChannel::DoCheckWriteParameter()

NEW

+64

pw::bluetooth::proxy::ChannelProxy::SendEventToClient()

NEW

+64

pw::containers::FlatMap<>::at()

NEW

+64

pw::containers::internal::KeyedAATree<>::~KeyedAATree()

NEW

+64

pw::multibuf::Chunk::Free()

NEW

+62

pw::bluetooth::emboss::GenericAclDataFrameView<>::payload()

NEW

+62

pw::bluetooth::emboss::GenericBFrameView<>::payload()

NEW

+62

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::payload()

NEW

+62

pw::multibuf::MultiBufAllocator::AllocateContiguous()

NEW

+60

_ZNK2pw9allocator14BlockAllocatorINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE15FromUsableSpaceIPvEEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ES6_E4typeEESC_

NEW

+60

pw::allocator::AllocatableBlock<>::AllocFirst()

NEW

+60

pw::allocator::BlockWithLayout<>::DoResize()

NEW

+60

pw::allocator::internal::BucketBase<>::Remove()

NEW

+60

pw::bluetooth::emboss::GenericBFrameView<>::IsComplete()

NEW

+60

pw::bluetooth::emboss::GenericGenericHciCommandView<>::IsComplete()

NEW

+60

pw::bluetooth::emboss::GenericLEMetaEventView<>::EmbossReservedVirtualReturnParametersSizeView::MaybeRead()

NEW

+60

pw::bluetooth::proxy::HciTransport::SendToController()

NEW

+60

pw::bluetooth::proxy::ProxyHost::OnConnectionCompleteSuccess()

NEW

+60

pw::sync::Mutex::lock()

NEW

+60

pw::sync::Mutex::unlock()

NEW

+58

_ZNSt3__223__lower_bound_bisectingB8nn220000INS_17_ClassicAlgPolicyENS_11__wrap_iterIPN2pw10containers4PairINS3_9bluetooth5proxy16AclTransportTypeENS_8optionalINS7_14AclDataChannel10SendCreditEEEEEEES8_NS_10__identityEPFbRKSD_S8_EEET0_SL_RKT1_NS_15iterator_traitsISL_E15difference_typeERT3_RT2_

NEW

+58

_ZNSt3__29__destroyB8nn220000IN2pw10containers8internal13DequeIteratorINS3_20BasicInlineDequeImplINS1_8multibuf8MultiBufENS3_16CountAndCapacityItEELj4294967295EEEEEEET_SC_SC_

NEW

+58

pw::bluetooth::emboss::GenericAclDataFrameView<>::IsComplete()

NEW

+58

pw::bluetooth::emboss::GenericCFrameView<>::IsComplete()

NEW

+58

pw::bluetooth::emboss::GenericCommandCompleteEventView<>::EmbossReservedVirtualReturnParametersSizeView::MaybeRead()

NEW

+58

pw::bluetooth::emboss::GenericGenericHciCommandView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::MaybeRead()

NEW

+58

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::IsComplete()

NEW

+58

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::IsComplete()

NEW

+58

pw::bluetooth::proxy::L2capSignalingChannel::~L2capSignalingChannel()

NEW

+56

pw::bluetooth::emboss::GenericCFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::MaybeRead()

NEW

+56

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::MaybeRead()

NEW

+56

pw::bluetooth::proxy::AclDataChannel::~AclDataChannel()

NEW

+56

pw::bluetooth::proxy::H4PacketWithH4::operator=()

NEW

+56

pw::bluetooth::proxy::H4PacketWithH4::~H4PacketWithH4()

NEW

+56

pw::bluetooth::proxy::HciTransport::SendToHost()

NEW

+56

pw::bluetooth::proxy::L2capStatusTracker::HandleAclDisconnectionComplete()

NEW

+56

pw::bluetooth::proxy::L2capStatusTracker::L2capStatusTracker()

NEW

+56

pw::containers::internal::GenericAATree::erase_one()

NEW

+56

pw::containers::internal::GenericDeque<>::pop_front()

NEW

+54

_ZNSt3__27find_ifB8nn220000IN2pw17IntrusiveMultiMapIjNS1_9allocator14FastSortedItemINS3_17DetailedBlockImplINS3_23DetailedBlockParametersIjNS3_21GenericFastSortedItemEEEEEEEE8iteratorEZNS3_8internal10BucketBaseINS3_16FastSortedBucketIS9_EES9_SA_E21MakeCanAllocPredicateENS3_6LayoutEEUlRSA_E_EET_SL_SL_T0_

NEW

+54

pw::allocator::BestFitAllocator<>::~BestFitAllocator()

NEW

+54

pw::bluetooth::emboss::GenericAclDataFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::MaybeRead()

NEW

+54

pw::bluetooth::emboss::GenericBFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::MaybeRead()

NEW

+54

pw::bluetooth::proxy::AclDataChannel::RegisterConnection()

NEW

+52

emboss::support::Or<>()

NEW

+52

pw::AlignDown()

NEW

+52

pw::IntrusiveMap<>::insert()

NEW

+52

pw::allocator::BlockWithLayout<>::RequestedLayout()

NEW

+52

pw::allocator::Hardening::Multiply<>()

NEW

+52

pw::allocator::SynchronizedAllocator<>

NEW

+52

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read()

NEW

+52

pw::bluetooth::proxy::AclDataChannel::LookupCredits()

NEW

+52

pw::bluetooth::proxy::L2capChannel::Init()

NEW

+52

pw::bluetooth::proxy::L2capChannelManager::HandleDisconnectionCompleteLocked()

NEW

+52

pw::bluetooth::proxy::MultiBufAdapter::Copy<>()

NEW

+52

pw::bluetooth::proxy::internal::L2capLogicalLink

NEW

+52

pw::containers::internal::AATreeItem::Clear()

NEW

+52

pw::containers::internal::GenericDequeBase<>::AbsoluteIndexChecked()

NEW

+52

pw::multibuf::MultiBuf::Truncate()

NEW

+52

pw::multibuf::MultiBufChunks::take_front()

NEW

+52

std::__2::array<>::~array()

NEW

+50

pw::allocator::BlockAllocator<>::~BlockAllocator()

NEW

+50

pw::allocator::SynchronizedAllocator<>::DoAllocate()

NEW

+50

pw::bluetooth::emboss::GenericBasicL2capHeaderView<>::pdu_length()

NEW

+50

pw::bluetooth::emboss::GenericL2capSignalingCommandHeaderView<>::data_length()

NEW

+48

emboss::support::And<>()

NEW

+48

pw::AlignUp()

NEW

+48

pw::allocator::AllocatableBlock<>::DoCanAlloc()

NEW

+48

pw::allocator::ContiguousBlock<>::DoMergeNext()

NEW

+48

pw::allocator::SynchronizedAllocator<>::DoDeallocate()

NEW

+48

pw::allocator::internal::BucketBase<>::MakeCanAllocPredicate()::{lambda()#1}::operator()()

NEW

+48

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::data_total_length()

NEW

+48

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::emboss_reserved_anonymous_field_4()

NEW

+48

pw::bluetooth::emboss::GenericBasicL2capHeaderView<>::channel_id()

NEW

+48

pw::bluetooth::emboss::GenericBdAddrView<>::Ok()

NEW

+48

pw::bluetooth::emboss::GenericL2capFlowControlCreditIndView<>::cid()

NEW

+48

pw::bluetooth::emboss::GenericL2capFlowControlCreditIndView<>::credits()

NEW

+48

pw::bluetooth::emboss::GenericL2capSignalingCommandHeaderView<>::code()

NEW

+48

pw::bluetooth::emboss::GenericL2capSignalingCommandHeaderView<>::identifier()

NEW

+48

pw::bluetooth::emboss::GenericNumberOfCompletedPacketsEventView<>::EmbossReservedVirtualDataLengthView::MaybeRead()

NEW

+48

pw::bluetooth::proxy::HciTransport::HciTransport()

NEW

+48

pw::bluetooth::proxy::L2capChannel

NEW

+48

pw::bluetooth::proxy::L2capChannel::MaxL2capPayloadSize()

NEW

+48

pw::bluetooth::proxy::L2capChannel::PopFrontPayload()

NEW

+48

pw::bluetooth::proxy::L2capChannelManager::RegisterChannelLocked()

NEW

+48

pw::bluetooth::proxy::Recombiner::HasBuf()

NEW

+46

pw::allocator::BlockWithLayout<>::DoAllocFirst()

NEW

+46

pw::allocator::FastSortedBucket<>::DoRemoveCompatible()

NEW

+46

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::status()

NEW

+44

_ZNSt3__223__optional_storage_baseIN2pw8multibuf8MultiBufELb0EE13__assign_fromB8nn220000INS_27__optional_move_assign_baseIS3_Lb0EEEEEvOT_

NEW

+44

pw::PackedPtr<>::set()

NEW

+44

pw::PackedPtr<>::set_packed_value()

NEW

+44

pw::Vector<>::operator[]()

NEW

+44

pw::allocator::BlockAllocator<>::DoDeallocate()

NEW

+44

pw::allocator::Hardening::Decrement<>()

NEW

+44

pw::allocator::Hardening::Increment<>()

NEW

+44

pw::allocator::SynchronizedAllocator<>::DoReallocate()

NEW

+44

pw::allocator::SynchronizedAllocator<>::SynchronizedAllocator()

NEW

+44

pw::allocator::internal::BucketBase<>::GetBlockFromIterator<>()

NEW

+44

pw::bluetooth::emboss::GenericL2capConfigureReqView<>::EmbossReservedVirtualOptionsSizeView::Read()

NEW

+44

pw::bluetooth::emboss::LEConnectionCompleteSubevent::EmbossReservedValidatorForConnectionInterval::ValueIsOk<>()

NEW

+44

pw::bluetooth::emboss::LEConnectionCompleteSubevent::EmbossReservedValidatorForSupervisionTimeout::ValueIsOk<>()

NEW

+44

pw::bluetooth::emboss::LEEnhancedConnectionCompleteSubeventV1::EmbossReservedValidatorForConnectionInterval::ValueIsOk<>()

NEW

+44

pw::bluetooth::emboss::LEEnhancedConnectionCompleteSubeventV1::EmbossReservedValidatorForSupervisionTimeout::ValueIsOk<>()

NEW

+44

pw::bluetooth::emboss::LEEnhancedConnectionCompleteSubeventV2::EmbossReservedValidatorForConnectionInterval::ValueIsOk<>()

NEW

+44

pw::bluetooth::emboss::LEEnhancedConnectionCompleteSubeventV2::EmbossReservedValidatorForSupervisionTimeout::ValueIsOk<>()

NEW

+44

pw::bluetooth::proxy::AclDataChannel::FindAclConnection()

NEW

+44

pw::bluetooth::proxy::AclDataChannel::SendCredit::operator=()

NEW

+44

pw::bluetooth::proxy::L2capChannel::SetHolder()

NEW

+44

pw::bluetooth::proxy::L2capChannelManager::FindChannelByLocalCidLocked()

NEW

+44

pw::bluetooth::proxy::L2capChannelManager::FindChannelByRemoteCidLocked()

NEW

+44

pw::bluetooth::proxy::MultiBufAdapter::Claim()

NEW

+44

pw::bluetooth::proxy::Recombiner::IsComplete()

NEW

+44

pw::containers::internal::GenericAATree::end()

NEW

+42

_ZNSt3__27find_ifB8nn220000IN2pw17IntrusiveMultiMapIjNS1_9allocator14FastSortedItemINS3_17DetailedBlockImplINS3_23DetailedBlockParametersIjNS3_21GenericFastSortedItemEEEEEEEE8iteratorEZNS3_16FastSortedBucketIS9_E8DoRemoveERS9_EUlRSA_E_EET_SI_SI_T0_

NEW

+42

pw::IntrusiveMap<>::erase()

NEW

+42

pw::allocator::AllocatableBlock<>::Resize()

NEW

+42

pw::allocator::SynchronizedAllocator<>::DoGetInfo()

NEW

+42

pw::allocator::SynchronizedAllocator<>::~SynchronizedAllocator()

NEW

+42

pw::bluetooth::emboss::GenericL2capConfigureReqView<>::options()

NEW

+42

pw::bluetooth::emboss::LEReadBufferSizeV1CommandCompleteEvent::EmbossReservedValidatorForLeAclDataPacketLength::ValueIsOk<>()

NEW

+42

pw::bluetooth::emboss::LEReadBufferSizeV2CommandCompleteEvent::EmbossReservedValidatorForLeAclDataPacketLength::ValueIsOk<>()

NEW

+42

pw::bluetooth::proxy::AclDataChannel::SendCredit::~SendCredit()

NEW

+42

pw::bluetooth::proxy::L2capSignalingChannel::GetNextIdentifierAndIncrement()

NEW

+42

pw::containers::internal::AATreeItem::GetPredecessor()

NEW

+42

pw::containers::internal::AATreeItem::GetSuccessor()

NEW

+42

pw::containers::internal::AATreeItem::IsMapped()

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9allocator6LayoutELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleIS6_OT_EE5valueEiE4typeELi0EEESA_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth5proxy14H4PacketWithH4ELb0EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleIS7_OT_EE5valueEiE4typeELi0EEESB_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss17GenericBFrameViewIN6emboss7support16ContiguousBufferIhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISC_OT_EE5valueEiE4typeELi0EEESG_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss17GenericCFrameViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss22GenericEventHeaderViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss22GenericLEMetaEventViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss23GenericAclDataFrameViewIN6emboss7support16ContiguousBufferIhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISC_OT_EE5valueEiE4typeELi0EEESG_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss27GenericBasicL2capHeaderViewIN6emboss7support16ContiguousBufferIhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISC_OT_EE5valueEiE4typeELi0EEESG_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss28GenericGenericHciCommandViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss29GenericAclDataFrameHeaderViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss29GenericL2capConnectionReqViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss29GenericL2capConnectionRspViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss31GenericCommandCompleteEventViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss32GenericL2capDisconnectionReqViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss32GenericL2capDisconnectionRspViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss34GenericConnectionCompleteEventViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss36GenericL2capFlowControlCreditIndViewIN6emboss7support16ContiguousBufferIhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISC_OT_EE5valueEiE4typeELi0EEESG_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss37GenericDisconnectionCompleteEventViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss38GenericL2capMtuConfigurationOptionViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss39GenericLEConnectionCompleteSubeventViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss40GenericNumberOfCompletedPacketsEventViewIN6emboss7support16ContiguousBufferIhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISC_OT_EE5valueEiE4typeELi0EEESG_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss41GenericL2capConfigurationOptionHeaderViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss45GenericReadBufferSizeCommandCompleteEventViewIN6emboss7support16ContiguousBufferIhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISC_OT_EE5valueEiE4typeELi0EEESG_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss49GenericLEEnhancedConnectionCompleteSubeventV1ViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss49GenericLEEnhancedConnectionCompleteSubeventV2ViewIN6emboss7support16ContiguousBufferIKhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISD_OT_EE5valueEiE4typeELi0EEESH_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss49GenericLEReadBufferSizeV1CommandCompleteEventViewIN6emboss7support16ContiguousBufferIhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISC_OT_EE5valueEiE4typeELi0EEESG_

NEW

+40

_ZN2pw15internal_result12StatusOrDataINS_9bluetooth6emboss49GenericLEReadBufferSizeV2CommandCompleteEventViewIN6emboss7support16ContiguousBufferIhLj1ELj0EEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISC_OT_EE5valueEiE4typeELi0EEESG_

NEW

+40

_ZN2pw15internal_result12StatusOrDataIPNS_9allocator17DetailedBlockImplINS2_23DetailedBlockParametersIjNS2_21GenericFastSortedItemEEEEELb1EEC2INS_6StatusETnNSt3__29enable_ifIXsr3std16is_constructibleISB_OT_EE5valueEiE4typeELi0EEESF_

NEW

+40

_ZN2pw9Allocator3NewINS_9bluetooth5proxy8internal16L2capLogicalLinkETpTnRiJEJRtRNS3_16AclTransportTypeERNS3_19L2capChannelManagerERNS3_14AclDataChannelEEEENSt3__29enable_ifIXntsr3stdE10is_array_vIT_EEPSG_E4typeEDpOT1_

NEW

+40

emboss::support::OffsetBitBlock<>::MaskInValue()

NEW

+40

pw::IntrusiveMap<>::find()

NEW

+40

pw::allocator::BestFitAllocator<>::RecycleBlock()

NEW

+40

pw::allocator::SynchronizedAllocator<>::DoResize()

NEW

+40

pw::allocator::internal::SortedBucketBase<>::DoAdd()

NEW

+40

pw::bluetooth::proxy::AclDataChannel::Credits::MarkCompleted()

NEW

+40

pw::bluetooth::proxy::AclDataChannel::HandleAclFromController()

NEW

+40

pw::bluetooth::proxy::AclDataChannel::HandleAclFromHost()

NEW

+40

pw::bluetooth::proxy::MultiBufAdapter::Create()

NEW

+40

pw::containers::internal::AATreeItem::SetLevel()

NEW

+40

pw::containers::internal::AATreeItem::~AATreeItem()

NEW

+40

pw::containers::internal::CheckIntrusiveContainerIsEmpty()

NEW

+40

pw::containers::internal::GenericDeque<>::push_back()

NEW

+40

pw::containers::internal::GenericIntrusiveList<>::remove_if<>()

NEW

+40

pw::internal_result::StatusOrData<>::~StatusOrData()

NEW

+40

vQueueDelete

NEW

+38

_ZNSt3__223__optional_storage_baseIN2pw9bluetooth5proxy14H4PacketWithH4ELb0EE13__assign_fromB8nn220000INS_27__optional_move_assign_baseIS4_Lb0EEEEEvOT_

NEW

+38

pw::allocator::AllocatableBlock<>::Free()

NEW

+38

pw::allocator::internal::BucketBase<>::FindLargest()

NEW

+38

pw::allocator::internal::SortedBucketBase<>::DoRemoveCompatible()

NEW

+38

pw::bluetooth::proxy::ProxyHost::HandleH4HciFromHost()

NEW

+38

pw::containers::internal::AATreeItem::Replace()

NEW

+38

pw::containers::internal::GenericDeque<>::try_emplace_back<>()

NEW

+36

_ZNSt3__223__optional_storage_baseIN2pw9bluetooth5proxy14AclDataChannel10SendCreditELb0EE13__assign_fromB8nn220000INS_27__optional_move_assign_baseIS5_Lb0EEEEEvOT_

NEW

+36

_ZNSt3__28optionalIN2pw8multibuf8MultiBufEEaSB8nn220000IS3_TnNS_9enable_ifIXsr4_AndINS_17integral_constantIbXntu9__is_sameu14__remove_cvrefIT_ES4_EEEENS_7_OrImplIXaantcvbsr10_IsNotSameIS9_S3_EE5valuenesZT1_Li0EEE7_ResultINS7_IbXntu9__is_sameS9_S3_EEEENS_4_NotINS_9is_scalarIS3_EEEEEENS_16is_constructibleIS3_JS8_EEENS_13is_assignableIRS3_S8_EEEE5valueEiE4typeELi0EEERS4_OS8_

NEW

+36

fit::function_impl<>::operator=()

NEW

+36

fit::internal::generic_function_base<>::assign_function()

NEW

+36

pw::Deallocator::DeleteArray<>()

NEW

+36

pw::IntrusiveMap<>::end()

NEW

+36

pw::IntrusiveMultiMap<>::end()

NEW

+36

pw::Vector<>::emplace_back<>()

NEW

+36

pw::allocator::BestFitAllocator<>::DoGetMaxAllocatable()

NEW

+36

pw::allocator::internal::GenericBlockAllocator::CrashOnAllocated()

NEW

+36

pw::allocator::internal::GenericBlockAllocator::CrashOnDoubleFree()

NEW

+36

pw::allocator::internal::GenericBlockAllocator::CrashOnOutOfRange()

NEW

+36

pw::bluetooth::proxy::AclDataChannel::AclConnection::AclConnection()

NEW

+36

pw::bluetooth::proxy::L2capChannel::CheckHolder()

NEW

+36

pw::bluetooth::proxy::L2capChannel::Holder::CheckUnderlyingChannel()

NEW

+36

pw::bluetooth::proxy::L2capChannelManager::DeregisterChannel()

NEW

+36

pw::bluetooth::proxy::L2capChannelManager::RegisterChannel()

NEW

+36

pw::bluetooth::proxy::L2capChannelManager::ReportNewTxPacketsOrCredits()

NEW

+36

pw::bluetooth::proxy::LockedL2capChannel::channel()

NEW

+36

pw::bluetooth::proxy::Recombiner::local_cid()

NEW

+36

pw::bluetooth::proxy::internal::(anonymous namespace)::GetLockedChannel()

NEW

+36

pw::containers::internal::KeyedAATree<>::equal_range()

NEW

+34

_ZNSt3__213__lower_boundB8nn220000INS_17_ClassicAlgPolicyENS_11__wrap_iterIPN2pw10containers4PairINS3_9bluetooth5proxy16AclTransportTypeENS_8optionalINS7_14AclDataChannel10SendCreditEEEEEEESF_S8_NS_10__identityEPFbRKSD_S8_EEET0_SL_T1_RKT2_RT4_RT3_

NEW

+34

pw::allocator::BlockAllocator<>::UpdateLast()

NEW

+34

pw::allocator::ContiguousBlock<>::NextUnchecked()

NEW

+34

pw::allocator::SynchronizedAllocator<>::DoGetAllocated()

NEW

+34

pw::containers::internal::KeyedAATree<>::upper_bound()

NEW

+32

_ZNSt3__26all_ofB8nn220000IPjZNK2pw9allocator15PoisonableBlockINS3_17DetailedBlockImplINS3_23DetailedBlockParametersIjNS3_21GenericFastSortedItemEEEEEE17DoCheckInvariantsEbEUljE_EEbT_SC_T0_

NEW

+32

_ZNSt3__28exchangeB8nn220000INS_8optionalIN2pw8multibuf8MultiBufEEERKNS_9nullopt_tEEET_RS9_OT0_

NEW

+32

emboss::support::GenericArrayView<>::IndexOperatorHelper<>::UncheckedConstructElement()

NEW

+32

pw::Allocator::Reallocate()

NEW

+32

pw::allocator::PoisonableBlock<>::DoSplitLast()

NEW

+32

pw::bluetooth::emboss::LEConnectionCompleteSubevent::EmbossReservedValidatorForConnectionHandle::ValueIsOk<>()

NEW

+32

pw::bluetooth::emboss::LEConnectionCompleteSubevent::EmbossReservedValidatorForPeripheralLatency::ValueIsOk<>()

NEW

+32

pw::bluetooth::emboss::LEEnhancedConnectionCompleteSubeventV1::EmbossReservedValidatorForConnectionHandle::ValueIsOk<>()

NEW

+32

pw::bluetooth::emboss::LEEnhancedConnectionCompleteSubeventV1::EmbossReservedValidatorForPeripheralLatency::ValueIsOk<>()

NEW

+32

pw::bluetooth::emboss::LEEnhancedConnectionCompleteSubeventV2::EmbossReservedValidatorForConnectionHandle::ValueIsOk<>()

NEW

+32

pw::bluetooth::emboss::LEEnhancedConnectionCompleteSubeventV2::EmbossReservedValidatorForPeripheralLatency::ValueIsOk<>()

NEW

+32

pw::bluetooth::proxy::AclDataChannel::HandleConnectionCompleteEvent()

NEW

+32

pw::bluetooth::proxy::MultiBufAdapter::AsSpan()

NEW

+32

pw::bluetooth::proxy::ProxyHost::HandleAclFromController()

NEW

+32

pw::bluetooth::proxy::ProxyHost::HandleAclFromHost()

NEW

+32

pw::bluetooth::proxy::ProxyHost::HandleH4HciFromController()

NEW

+32

pw::multibuf::MultiBuf::begin()

NEW

+30

pw::IntrusiveMultiMap<>::equal_range()

NEW

+30

pw::allocator::ContiguousBlock<>::PrevUnchecked()

NEW

+30

pw::allocator::DetailedBlockImpl<>::SetNext()

NEW

+30

pw::allocator::FastSortedBucket<>::DoAdd()

NEW

+30

pw::allocator::ForwardSortedBucket<>::DoFindLargest()

NEW

+30

pw::bluetooth::emboss::ConnectionCompleteEvent::EmbossReservedValidatorForConnectionHandle::ValueIsOk<>()

NEW

+30

pw::bluetooth::emboss::DisconnectionCompleteEvent::EmbossReservedValidatorForConnectionHandle::ValueIsOk<>()

NEW

+30

pw::bluetooth::proxy::L2capChannel::ClearQueue()

NEW

+30

pw::containers::internal::AATreeItem::SetRight()

NEW

+28

_ZNSt3__29destroy_nB8nn220000IPN2pw9bluetooth5proxy8internal25L2capLogicalLinkInterfaceEjEET_S7_T0_

NEW

+28

pw::allocator::BestFitAllocator<>::ReserveBlock()

NEW

+28

pw::allocator::DetailedBlockImpl<>::DoCheckInvariants()

NEW

+28

pw::allocator::ForwardSortedBucket<>::MakeAddPredicate()::{lambda()#1}::operator()()

NEW

+28

pw::allocator::PoisonableBlock<>::DoSplitFirst()

NEW

+28

pw::allocator::PoisonableBlock<>::PoisonableEnd()

NEW

+28

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::has_broadcast_flag()

NEW

+28

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::has_handle()

NEW

+28

pw::bluetooth::emboss::GenericAclDataFrameHeaderView<>::has_packet_boundary_flag()

NEW

+28

pw::bluetooth::proxy::H4PacketWithH4

NEW

+28

pw::bluetooth::proxy::H4PacketWithHci

NEW

+28

pw::bluetooth::proxy::L2capChannel::Holder::Holder()

NEW

+28

pw::containers::internal::AATreeItem::SetLeft()

NEW

+26

fit::internal::inline_trivial_target_move<>()

NEW

+26

pw::allocator::DetailedBlockImpl<>::SetRequestedSize()

NEW

+26

pw::allocator::FastSortedBucket<>::DoFindLargest()

NEW

+26

pw::allocator::IterableBlock<>::Iterator::operator++()

NEW

+26

pw::bluetooth::emboss::GenericCommandHeaderView<>::opcode_bits()

NEW

+26

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::command_header()

NEW

+26

pw::bluetooth::emboss::GenericReadBufferSizeCommandCompleteEventView<>::acl_data_packet_length()

NEW

+26

pw::bluetooth::proxy::H4PacketWithH4::DoGetHciSpan()

NEW

+26

pw::bluetooth::proxy::HciTransport::~HciTransport()

NEW

+26

pw::bluetooth::proxy::L2capChannel::StopAndSendEvent()

NEW

+26

pw::containers::internal::GenericAATree::begin()

NEW

+26

pw::containers::internal::GenericDequeBase<>::PushBack()

NEW

+26

std::__2::array<>::array()

NEW

+24

_ZN2pw9allocator10BasicBlockINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE15FromUsableSpaceIPKNS0_10SortedItemEEEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ES6_E4typeEESE_

NEW

+24

_ZN2pw9allocator10BasicBlockINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE15FromUsableSpaceIPKNS0_14FastSortedItemIS6_EEEEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ES6_E4typeEESF_

NEW

+24

_ZN2pw9allocator10BasicBlockINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE15FromUsableSpaceIPKvEEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ES6_E4typeEESD_

NEW

+24

_ZN2pw9allocator10BasicBlockINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE15FromUsableSpaceIPNS0_10SortedItemEEEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ES6_E4typeEESD_

NEW

+24

_ZN2pw9allocator10BasicBlockINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE15FromUsableSpaceIPNS0_14FastSortedItemIS6_EEEEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ES6_E4typeEESE_

NEW

+24

_ZN2pw9allocator10BasicBlockINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE15FromUsableSpaceIPvEEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ES6_E4typeEESC_

NEW

+24

emboss::support::Equal<>()

NEW

+24

prvIsQueueEmpty

NEW

+24

pvTaskIncrementMutexHeldCount

NEW

+24

pw::Allocator::Resize()

NEW

+24

pw::bluetooth::emboss::AclDataFrameHeader::GenericEmbossReservedAnonymousField4View<>::broadcast_flag()

NEW

+24

pw::bluetooth::emboss::AclDataFrameHeader::GenericEmbossReservedAnonymousField4View<>::handle()

NEW

+24

pw::bluetooth::emboss::AclDataFrameHeader::GenericEmbossReservedAnonymousField4View<>::packet_boundary_flag()

NEW

+24

pw::bluetooth::emboss::GenericAclDataFrameView<>::data_total_length()

NEW

+24

pw::bluetooth::emboss::GenericAclDataFrameView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericBFrameView<>::channel_id()

NEW

+24

pw::bluetooth::emboss::GenericBFrameView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericBdAddrView<>::bd_addr()

NEW

+24

pw::bluetooth::emboss::GenericCFrameView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericCommandCompleteEventView<>::command_opcode()

NEW

+24

pw::bluetooth::emboss::GenericCommandCompleteEventView<>::command_opcode_bits()

NEW

+24

pw::bluetooth::emboss::GenericCommandCompleteEventView<>::command_opcode_uint()

NEW

+24

pw::bluetooth::emboss::GenericCommandCompleteEventView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericCommandCompleteEventView<>::num_hci_command_packets()

NEW

+24

pw::bluetooth::emboss::GenericCommandHeaderView<>::opcode()

NEW

+24

pw::bluetooth::emboss::GenericCommandHeaderView<>::parameter_total_size()

NEW

+24

pw::bluetooth::emboss::GenericConnectionCompleteEventView<>::bd_addr()

NEW

+24

pw::bluetooth::emboss::GenericConnectionCompleteEventView<>::connection_handle()

NEW

+24

pw::bluetooth::emboss::GenericConnectionCompleteEventView<>::encryption_enabled()

NEW

+24

pw::bluetooth::emboss::GenericConnectionCompleteEventView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericConnectionCompleteEventView<>::link_type()

NEW

+24

pw::bluetooth::emboss::GenericConnectionCompleteEventView<>::status()

NEW

+24

pw::bluetooth::emboss::GenericDisconnectionCompleteEventView<>::connection_handle()

NEW

+24

pw::bluetooth::emboss::GenericDisconnectionCompleteEventView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericDisconnectionCompleteEventView<>::reason()

NEW

+24

pw::bluetooth::emboss::GenericDisconnectionCompleteEventView<>::status()

NEW

+24

pw::bluetooth::emboss::GenericEventHeaderView<>::event_code()

NEW

+24

pw::bluetooth::emboss::GenericEventHeaderView<>::event_code_uint()

NEW

+24

pw::bluetooth::emboss::GenericEventHeaderView<>::parameter_total_size()

NEW

+24

pw::bluetooth::emboss::GenericGenericHciCommandView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericL2capConfigurationOptionHeaderView<>::option_length()

NEW

+24

pw::bluetooth::emboss::GenericL2capConfigurationOptionHeaderView<>::option_type()

NEW

+24

pw::bluetooth::emboss::GenericL2capConfigureReqView<>::command_header()

NEW

+24

pw::bluetooth::emboss::GenericL2capConfigureReqView<>::destination_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capConfigureRspView<>::command_header()

NEW

+24

pw::bluetooth::emboss::GenericL2capConfigureRspView<>::result()

NEW

+24

pw::bluetooth::emboss::GenericL2capConfigureRspView<>::source_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capConnectionReqView<>::command_header()

NEW

+24

pw::bluetooth::emboss::GenericL2capConnectionReqView<>::psm()

NEW

+24

pw::bluetooth::emboss::GenericL2capConnectionReqView<>::source_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::destination_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::result()

NEW

+24

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::source_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capDisconnectionReqView<>::command_header()

NEW

+24

pw::bluetooth::emboss::GenericL2capDisconnectionReqView<>::destination_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capDisconnectionReqView<>::source_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capDisconnectionRspView<>::command_header()

NEW

+24

pw::bluetooth::emboss::GenericL2capDisconnectionRspView<>::destination_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capDisconnectionRspView<>::source_cid()

NEW

+24

pw::bluetooth::emboss::GenericL2capFlowControlCreditIndView<>::command_header()

NEW

+24

pw::bluetooth::emboss::GenericL2capMtuConfigurationOptionView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericL2capMtuConfigurationOptionView<>::mtu()

NEW

+24

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::command_header()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::central_clock_accuracy()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::connection_handle()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::connection_interval()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::le_meta_event()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::peer_address()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::peer_address_type()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::peripheral_latency()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::role()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::status()

NEW

+24

pw::bluetooth::emboss::GenericLEConnectionCompleteSubeventView<>::supervision_timeout()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::central_clock_accuracy()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::connection_handle()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::connection_interval()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::le_meta_event()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::local_resolvable_private_address()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::peer_address()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::peer_address_type()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::peer_resolvable_private_address()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::peripheral_latency()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::role()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::status()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV1View<>::supervision_timeout()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::advertising_handle()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::central_clock_accuracy()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::connection_handle()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::connection_interval()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::le_meta_event()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::local_resolvable_private_address()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::peer_address()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::peer_address_type()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::peer_resolvable_private_address()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::peripheral_latency()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::role()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::status()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::supervision_timeout()

NEW

+24

pw::bluetooth::emboss::GenericLEEnhancedConnectionCompleteSubeventV2View<>::sync_handle()

NEW

+24

pw::bluetooth::emboss::GenericLEMetaEventView<>::header()

NEW

+24

pw::bluetooth::emboss::GenericLEMetaEventView<>::subevent_code()

NEW

+24

pw::bluetooth::emboss::GenericLEMetaEventView<>::subevent_code_enum()

NEW

+24

pw::bluetooth::emboss::GenericLEReadBufferSizeV1CommandCompleteEventView<>::le_acl_data_packet_length()

NEW

+24

pw::bluetooth::emboss::GenericLEReadBufferSizeV1CommandCompleteEventView<>::total_num_le_acl_data_packets()

NEW

+24

pw::bluetooth::emboss::GenericLEReadBufferSizeV2CommandCompleteEventView<>::le_acl_data_packet_length()

NEW

+24

pw::bluetooth::emboss::GenericLEReadBufferSizeV2CommandCompleteEventView<>::total_num_le_acl_data_packets()

NEW

+24

pw::bluetooth::emboss::GenericNumberOfCompletedPacketsEventDataView<>::connection_handle()

NEW

+24

pw::bluetooth::emboss::GenericNumberOfCompletedPacketsEventDataView<>::num_completed_packets()

NEW

+24

pw::bluetooth::emboss::GenericNumberOfCompletedPacketsEventView<>::num_handles()

NEW

+24

pw::bluetooth::emboss::GenericReadBufferSizeCommandCompleteEventView<>::total_num_acl_data_packets()

NEW

+24

pw::bluetooth::emboss::L2capFlowControlCreditInd::EmbossReservedValidatorForCredits::ValueIsOk<>()

NEW

+24

pw::bluetooth::emboss::ReadBufferSizeCommandCompleteEvent::EmbossReservedValidatorForAclDataPacketLength::ValueIsOk<>()

NEW

+24

pw::bluetooth::proxy::LockedL2capChannel::LockedL2capChannel()

NEW

+24

pw::bluetooth::proxy::ProxyHost::Reset()

NEW

+24

pw::containers::internal::AATreeItem::GetLevel()

NEW

+24

pw::containers::internal::GenericDeque<>::EmplaceBackUnchecked<>()

NEW

+24

pw::containers::internal::GenericDequeBase<>::PopFront()

NEW

+24

pw::containers::internal::GenericIntrusiveList<>::~GenericIntrusiveList()

NEW

+24

pw::multibuf::Chunk::RemoveFromRegionList()

NEW

+22

_ZNSt3__211lower_boundB8nn220000INS_11__wrap_iterIPN2pw10containers4PairINS2_9bluetooth5proxy16AclTransportTypeENS_8optionalINS6_14AclDataChannel10SendCreditEEEEEEES7_PFbRKSC_S7_EEET_SJ_SJ_RKT0_T1_

NEW

+22

_ZNSt3__224__optional_destruct_baseIN2pw8multibuf8MultiBufELb0EE5resetB8nn220000Ev

NEW

+22

_ZNSt3__224__optional_destruct_baseIN2pw8multibuf8MultiBufELb0EED2B8nn220000Ev

NEW

+22

pw::allocator::ContiguousBlock<>::DoSplitLast()

NEW

+22

pw::allocator::FastSortedBucket<>::~FastSortedBucket()

NEW

+22

pw::allocator::internal::SortedBucketBase<>::~SortedBucketBase()

NEW

+22

pw::bluetooth::emboss::GenericBFrameView<>::pdu_length()

NEW

+22

pw::bluetooth::emboss::GenericCFrameView<>::channel_id()

NEW

+22

pw::bluetooth::emboss::GenericCFrameView<>::pdu_length()

NEW

+22

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::data_length()

NEW

+22

pw::multibuf::MultiBufChunks::Release()

NEW

+22

pw::multibuf::MultiBufChunks::operator=()

NEW

+20

_ZNSt3__211unique_lockIN2pw4sync5MutexEED2B8nn220000Ev

NEW

+20

_ZNSt3__220__optional_move_baseIN2pw9bluetooth5proxy14AclDataChannel10SendCreditELb0EEC2B8nn220000EOS6_

NEW

+20

_ZNSt3__224__optional_destruct_baseIN2pw9bluetooth5proxy18LockedL2capChannelELb0EED2B8nn220000Ev

NEW

+20

_ZNSt3__27destroyB8nn220000IN2pw10containers8internal13DequeIteratorINS3_20BasicInlineDequeImplINS1_8multibuf8MultiBufENS3_16CountAndCapacityItEELj4294967295EEEEEEEvT_SC_

NEW

+20

pw::IntrusiveMultiMap<>::erase()

NEW

+20

pw::IntrusiveMultiMap<>::insert()

NEW

+20

pw::IntrusiveMultiMap<>::lower_bound()

NEW

+20

pw::allocator::DetailedBlockImpl<>::OuterSizeUnchecked()

NEW

+20

pw::allocator::FastSortedBucket<>::FastSortedBucket()

NEW

+20

pw::allocator::internal::SortedBucketBase<>::DoRemove()

NEW

+20

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::SizeInBytes()

NEW

+20

pw::bluetooth::proxy::AclDataChannel::ConnectionDelegate::HandleAclDataReturn::operator=()

NEW

+20

pw::bluetooth::proxy::L2capChannel::Holder

NEW

+20

pw::bluetooth::proxy::L2capStatusTracker::~L2capStatusTracker()

NEW

+20

pw::containers::internal::GenericAATree::clear()

NEW

+20

pw::containers::internal::IntrusiveListItemBase<>::~IntrusiveListItemBase()

NEW

+20

pw::multibuf::MultiBuf::const_iterator::AdvanceToData()

NEW

+20

pw::multibuf::MultiBufChunks::size_bytes()

NEW

+20

pw::multibuf::OwnedChunk::Release()

NEW

+18

_ZNSt3__224__optional_destruct_baseIN2pw9bluetooth5proxy14AclDataChannel10SendCreditELb0EE5resetB8nn220000Ev

NEW

+18

_ZNSt3__224__optional_destruct_baseIN2pw9bluetooth5proxy14H4PacketWithH4ELb0EE5resetB8nn220000Ev

NEW

+18

pw::IntrusiveMap<>::begin()

NEW

+18

pw::allocator::DetailedBlockImpl<>::PrevOuterSizeUnchecked()

NEW

+18

pw::bluetooth::proxy::ChannelProxy::HandleUnderlyingChannelEvent()

NEW

+18

pw::bluetooth::proxy::ChannelProxy::StopUnderlyingChannelWithEvent()

NEW

+18

pw::bluetooth::proxy::L2capChannel::Holder::SetUnderlyingChannel()

NEW

+18

pw::containers::FlatMap<>::FlatMap()

NEW

+18

pw::containers::internal::GenericAATree::~GenericAATree()

NEW

+18

pw::containers::internal::GenericDeque<>::at()

NEW

+18

pw::containers::internal::GenericDeque<>::clear()

NEW

+18

pw::multibuf::MultiBuf::ClaimPrefix()

NEW

+16

_ZN2pw6ResultINS_9bluetooth5proxy14H4PacketWithH4EEC2IS3_TnNSt3__29enable_ifIXsr3std11conjunctionINS6_11disjunctionIJNS6_7is_sameIS3_u11__remove_cvIu20__remove_reference_tIOT_EEEENS6_8negationINS8_IJNS9_IS4_SD_EENS9_INS_6StatusESD_EENS9_INS6_10in_place_tESD_EENS_15internal_result31IsDirectInitializationAmbiguousIS3_SB_EEEEEEEEEENS6_16is_constructibleIS3_JSB_EEENS6_14is_convertibleISB_S3_EENS8_IJNS9_Iu11__remove_cvIu20__remove_reference_tISA_EES3_EENS6_11conjunctionIJNSF_INST_ISB_SH_EEEENSF_INSL_29HasConversionOperatorToResultIS3_SB_vEEEEEEEEEEEE5valueEiE4typeELi0EEESB_

NEW

+16

_ZN2pw9allocator10BasicBlockINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE24UsableSpaceUncheckedImplIPKS7_EEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ESt4byteE4typeEESD_

NEW

+16

_ZN2pw9allocator10BasicBlockINS0_17DetailedBlockImplINS0_23DetailedBlockParametersIjNS0_21GenericFastSortedItemEEEEEE24UsableSpaceUncheckedImplIPS7_EEu13__add_pointerINS0_8internal9CopyConstIu16__remove_pointerIT_ESt4byteE4typeEESC_

NEW

+16

_ZNSt3__28exchangeB8nn220000INS_8optionalIN2pw9bluetooth5proxy14AclDataChannel10SendCreditEEERKNS_9nullopt_tEEET_RSB_OT0_

NEW

+16

emboss::support::GenericArrayView<>::Ok()

NEW

+16

emboss::support::GenericArrayView<>::operator[]()

NEW

+16

pw::IntrusiveMap<>::IntrusiveMap()

NEW

+16

pw::allocator::BasicBlock<>::InnerSizeFromOuterSize()

NEW

+16

pw::allocator::PoisonableBlock<>::DoMergeNext()

NEW

+16

pw::allocator::PoisonableBlock<>::PoisonableBegin()

NEW

+16

pw::bluetooth::emboss::GenericAclDataFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericBFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericCFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericCommandCompleteEventView<>::EmbossReservedVirtualReturnParametersSizeView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericGenericHciCommandView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericLEMetaEventView<>::EmbossReservedVirtualReturnParametersSizeView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericNumberOfCompletedPacketsEventView<>::EmbossReservedVirtualDataLengthView::Ok()

NEW

+16

pw::bluetooth::emboss::GenericNumberOfCompletedPacketsEventView<>::EmbossReservedVirtualDataLengthView::UncheckedRead()

NEW

+16

pw::bluetooth::proxy::AclDataChannel::SendCredit::SendCredit()

NEW

+16

pw::bluetooth::proxy::H4PacketWithH4::GetH4Type()

NEW

+16

pw::bluetooth::proxy::L2capChannel::EndRecombinationBuf()

NEW

+16

pw::bluetooth::proxy::L2capChannelManager::DeliverPendingEvents()

NEW

+16

pw::bluetooth::proxy::L2capChannelManager::ForceDrainChannelQueues()

NEW

+16

pw::bluetooth::proxy::L2capChannelManager::HandleConfigurationChanged()

NEW

+16

pw::bluetooth::proxy::L2capChannelManager::HandleConnectionComplete()

NEW

+16

pw::bluetooth::proxy::L2capChannelManager::MaxDataPacketLengthForTransport()

NEW

+16

pw::containers::Pair<>::Pair()

NEW

+16

pw::containers::Pair<>::operator=()

NEW

+16

pw::containers::internal::GenericAATree::SetRoot()

NEW

+16

pw::containers::internal::GenericIntrusiveList<>::clear()

NEW

+14

_ZNSt3__223__optional_storage_baseIN2pw9bluetooth5proxy14AclDataChannel10SendCreditELb0EE16__construct_fromB8nn220000INS_20__optional_move_baseIS5_Lb0EEEEEvOT_

NEW

+14

_ZNSt3__224__optional_destruct_baseIN2pw9bluetooth5proxy14AclDataChannel10SendCreditELb0EED2B8nn220000Ev

NEW

+14

_ZNSt3__224__optional_destruct_baseIN2pw9bluetooth5proxy14H4PacketWithH4ELb0EED2B8nn220000Ev

NEW

+14

pw::allocator::DetailedBlockImpl<>::RequestedSize()

NEW

+14

pw::bluetooth::emboss::GenericAclDataFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead()

NEW

+14

pw::bluetooth::emboss::GenericBFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead()

NEW

+14

pw::bluetooth::emboss::GenericCFrameView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead()

NEW

+14

pw::bluetooth::emboss::GenericGenericHciCommandView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead()

NEW

+14

pw::bluetooth::emboss::GenericL2capConnectionRspView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead()

NEW

+14

pw::bluetooth::emboss::GenericL2capSignalingCommandView<>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead()

NEW

+14

pw::containers::FlatMap<>::IsItemKeyLessThanGivenKey()

NEW

+14

pw::containers::internal::AATreeItem::GetLeftmost()

NEW

+14

pw::containers::internal::AATreeItem::GetRightmost()

NEW

+14

pw::containers::internal::AATreeItem::GetRoot()

NEW

+14

pw::containers::internal::GenericDeque<>::DestroyAll()

NEW

+14

pw::containers::internal::GenericIntrusiveList<>::remove()

NEW

+14

pw::multibuf::MultiBuf::iterator::end()

NEW

+12

_ZNRSt3__28optionalIN2pw8multibuf8MultiBufEE5valueB8nn220000Ev

NEW

+12

_ZNSt3__223__optional_storage_baseIN2pw9bluetooth5proxy14AclDataChannel10SendCreditELb0EE11__constructB8nn220000IJS5_EEEvDpOT_

NEW

+12

_ZNSt3__223__optional_storage_baseIN2pw9bluetooth5proxy14H4PacketWithH4ELb0EE11__constructB8nn220000IJS4_EEEvDpOT_

NEW

+12

_ZNSt3__227__throw_bad_optional_accessB8nn220000Ev

NEW

+12

_ZNSt3__28optionalIN2pw9bluetooth5proxy14AclDataChannel10SendCreditEEC2B8nn220000IS5_TnNS_9enable_ifIXclsr22_CheckOptionalArgsCtorIT_EE17__enable_implicitIS9_EEEiE4typeELi0EEEOS9_

NEW

+12

_ZNSt3__28optionalIN2pw9bluetooth5proxy14H4PacketWithH4EEC2B8nn220000IS4_TnNS_9enable_ifIXclsr22_CheckOptionalArgsCtorIT_EE17__enable_implicitIS8_EEEiE4typeELi0EEEOS8_

NEW

+12

_ZNSt3__28optionalIN2pw9bluetooth5proxy18LockedL2capChannelEEC2B8nn220000IS4_TnNS_9enable_ifIXclsr22_CheckOptionalArgsCtorIT_EE17__enable_implicitIS8_EEEiE4typeELi0EEEOS8_

NEW

+12

pw::IntrusiveForwardList<>::pop_front()

NEW

+12

pw::allocator::BasicBlock<>::InnerSizeUnchecked()

NEW

+12

pw::allocator::FastSortedItem<>::key()

NEW

+12

pw::bluetooth::emboss::GenericOpCodeBitsView<>::ocf()

NEW

+12

pw::bluetooth::emboss::GenericOpCodeBitsView<>::ogf()

NEW

+12

pw::bluetooth::proxy::H4PacketWithH4::SetH4Type()

NEW

+12

pw::bluetooth::proxy::L2capChannel::SendPayloadFromControllerToClient()

NEW

+12

pw::bluetooth::proxy::L2capChannel::SendPayloadFromHostToClient()

NEW

+12

pw::bluetooth::proxy::L2capSignalingChannel::Create()

NEW

+12

pw::containers::internal::DequeIterator<>::operator*()

NEW

+12

pw::multibuf::Chunk::DiscardPrefix()

NEW

+12

pw::multibuf::Chunk::Truncate()

NEW

+12

pw::multibuf::MultiBuf::CopyFrom()

NEW

+10

_ZN2pw11Deallocator6DeleteINS_9bluetooth5proxy8internal25L2capLogicalLinkInterfaceETpTnRiJETnNSt3__29enable_ifIXnt10is_array_vIT_EEiE4typeELi0EEEvPS9_

NEW

+10

pw::allocator::BasicBlock<>::CheckInvariants()

NEW

+10

pw::allocator::BasicBlock<>::IsValid()

NEW

+10

pw::allocator::internal::BucketBase<>::GetBlockFromPrev<>()

NEW

+10

pw::bluetooth::proxy::H4PacketWithHci::DoGetHciSpan()

NEW

+10

pw::bluetooth::proxy::H4PacketWithHci::~H4PacketWithHci()

NEW

+10

pw::bluetooth::proxy::L2capChannel::GetFrontPayload()

NEW

+10

pw::bluetooth::proxy::L2capChannel::PayloadQueueEmpty()

NEW

+10

pw::bluetooth::proxy::L2capChannel::ReportNewTxPacketsOrCredits()

NEW

+10

pw::bluetooth::proxy::internal::L2capLogicalLink::SendFlowControlCreditInd()

NEW

+10

pw::containers::internal::AATreeItem::Reset()

NEW

+8

pw::IntrusiveMultiMap<>::IntrusiveMultiMap()

NEW

+8

pw::bluetooth::proxy::L2capChannel::PopulateTxL2capPacket()

NEW

+8

pw::bluetooth::proxy::internal::L2capLogicalLink::key()

NEW

+6

std::__2::__libcpp_verbose_abort()

NEW

+4

pw::Allocator::DoResize()

NEW

+4

pw::allocator::BlockAllocator<>::DoGetAllocated()

NEW

+4

pw::bluetooth::proxy::H4PacketWithHci::GetH4Type()

NEW

+4

pw::bluetooth::proxy::H4PacketWithHci::SetH4Type()

NEW

+4

pw::bluetooth::proxy::L2capChannel::Holder::~Holder()

NEW

+4

std::__2::nullopt

NEW

+2

__cxa_pure_virtual

NEW

+2

fit::internal::inline_target_get()

NEW

+2

pw::allocator::BlockAllocator<>::Flush()

NEW

+2

pw::allocator::BlockAllocator<>::RecycleBlock()

NEW

+2

pw::allocator::BlockAllocator<>::ReserveBlock()

NEW

+2

pw::bluetooth::proxy::BasicL2capChannel::DoClose()

NEW

+2

pw::bluetooth::proxy::H4PacketInterface::~H4PacketInterface()

NEW

+2

pw::bluetooth::proxy::MultiBufAdapter::Unwrap()

+79,600

RAM

NEW

+80

xQueueRegistry

+80

Roadmap#

  • ACL flow control

  • Sending GATT notifications

  • CMake support

  • Receiving GATT notifications

  • Taking ownership of a L2CAP channel

  • Bazel support

  • And more…