H4PacketInterface is an abstract interface for an H4 HCI packet.
Concrete subclasses are used directly in code so their functions will be properly inlined. This abstract superclass just ensures a common interface across the concrete subclasses.
Public Types | |
| using | ReleaseFn = Function< void(const uint8_t *)> |
Public Member Functions | |
| H4PacketInterface (span< uint8_t > buffer, size_t hci_offset, ReleaseFn &&release_fn) | |
| H4PacketInterface (const H4PacketInterface &other)=delete | |
| H4PacketInterface & | operator= (const H4PacketInterface &other)=delete |
| H4PacketInterface (H4PacketInterface &&other) | |
| H4PacketInterface & | operator= (H4PacketInterface &&other) |
| emboss::H4PacketType | GetH4Type () const |
| void | SetH4Type (emboss::H4PacketType type) |
| Sets HCI packet type indicator. | |
| constexpr span< uint8_t > | GetHciSpan () |
| constexpr span< const uint8_t > | GetHciSpan () const |
| bool | HasReleaseFn () |
| ReleaseFn | ResetAndReturnReleaseFn () |
Protected Member Functions | |
| constexpr span< uint8_t > | buffer () |
| constexpr span< const uint8_t > | buffer () const |
Static Protected Attributes | |
| static constexpr std::uint8_t | kH4PacketIndicatorSize = 1 |