C/C++ API Reference
Loading...
Searching...
No Matches
Experimental v2 API

Oveview

Experimental API that separates out the concern of memory allocation.

Classes

class  pw::BasicMultiBuf< kProperties >
 
class  pw::MultiBufObserver
 

Typedefs

using pw::FlatMultiBuf = BasicMultiBuf<>
 Basic MultiBuf interface with mutable data.
 
using pw::FlatConstMultiBuf = BasicMultiBuf< MultiBufProperty::kConst >
 Basic MultiBuf interface with read-only data.
 
using pw::MultiBuf = BasicMultiBuf< MultiBufProperty::kLayerable >
 
using pw::ConstMultiBuf = BasicMultiBuf< MultiBufProperty::kConst, MultiBufProperty::kLayerable >
 
using pw::TrackedFlatMultiBuf = BasicMultiBuf< MultiBufProperty::kObservable >
 
using pw::TrackedFlatConstMultiBuf = BasicMultiBuf< MultiBufProperty::kConst, MultiBufProperty::kObservable >
 
using pw::TrackedMultiBuf = BasicMultiBuf< MultiBufProperty::kLayerable, MultiBufProperty::kObservable >
 
using pw::TrackedConstMultiBuf = BasicMultiBuf< MultiBufProperty::kConst, MultiBufProperty::kLayerable, MultiBufProperty::kObservable >
 

Enumerations

enum class  pw::MultiBufProperty : uint8_t { pw::MultiBufProperty::kConst = 1 << 0 , pw::MultiBufProperty::kLayerable = 1 << 1 , pw::MultiBufProperty::kObservable = 1 << 2 }
 Basic properties of a MultiBuf. More...
 

Typedef Documentation

◆ ConstMultiBuf

MultiBuf interface with read-only data and the option of adding layered data views.

◆ MultiBuf

MultiBuf interface with mutable data and the option of adding layered data views.

◆ TrackedConstMultiBuf

Basic MultiBuf interface with read-only data that notifies its observer, if set, on change. It has the option of adding layered data views.

◆ TrackedFlatConstMultiBuf

Basic MultiBuf interface with read-only data that notifies its observer, if set, on change.

◆ TrackedFlatMultiBuf

Basic MultiBuf interface with mutable data that notifies its observer, if set, on change.

◆ TrackedMultiBuf

Basic MultiBuf interface with mutable data that notifies its observer, if set, on change. It has the option of adding layered data views.

Enumeration Type Documentation

◆ MultiBufProperty

enum class pw::MultiBufProperty : uint8_t
strong

Basic properties of a MultiBuf.

Enumerator
kConst 

Indicates the data contained within the MultiBuf is read-only. Note the difference from the MultiBuf itself being const, which restricts changes to its structure, e.g. adding or removing layers.

kLayerable 

Allows adding or removing layers to create different views of the underlying data. This is useful with a "bottoms-up" approach to building a high-level application view out of a series of low-level protocol packets.

kObservable 

Allows setting an Observer that is notified when bytes or layers are added or removed. One possible usage is as part of a flow control scheme, to update the flow control whenever a certain number of bytes are processed.