class Simple
Defined at line 1182 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/natural_types.h
Public Methods
void Simple (Storage_ storage)
void Simple (double alpha, int64_t delay_budget)
void Simple ()
Default constructs a |Simple| only if all of its members are default constructible.
Defined at line 1192 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/natural_types.h
void Simple (Simple && )
Defined at line 1195 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/natural_types.h
void Simple (const Simple & other)
Simple & operator= (Simple && )
Defined at line 1196 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/natural_types.h
Simple & operator= (const Simple & other)
bool operator== (const Simple & other)
bool operator!= (const Simple & other)
double alpha ()
This is used to calculate the arrival rate:
`Rate_n = alpha * Sample_n + (1 - alpha) * Rate_(n-1)`
The bigger this value, the more sensitive it is to the latest sample.
Must be in the range [0, 1].
double & alpha ()
This is used to calculate the arrival rate:
`Rate_n = alpha * Sample_n + (1 - alpha) * Rate_(n-1)`
The bigger this value, the more sensitive it is to the latest sample.
Must be in the range [0, 1].
Simple & alpha (double value)
This is used to calculate the arrival rate:
`Rate_n = alpha * Sample_n + (1 - alpha) * Rate_(n-1)`
The bigger this value, the more sensitive it is to the latest sample.
Must be in the range [0, 1].
int64_t delay_budget ()
Wait time budget at the driver.
This is equivalent to W in Little's Law. More practically, this is an
upper bound for the average time buffers spend waiting in the queue
of the device impl before they are processed by the device interface.
Guidance for driver implementors:
1. If your driver uses a interrupt coalescing timeout, then this W should
just be that or slightly larger to account for the processing time.
2. If your driver does not use moderation, this value can be tuned:
a starting point would be to use (bit rate, MTU, Rx depth) to derive
a W under maximum pressure. As a reference (1Gbps, 1500, 256) leads to
a W of 3.0 ms (256 / (10**9 / 8 / 1500) seconds). It will make little
sense to go any bigger than that and you can decrease it and monitor
for packet drops. You can compare the value against common interrupt
coalescing configurations for reference.
int64_t & delay_budget ()
Wait time budget at the driver.
This is equivalent to W in Little's Law. More practically, this is an
upper bound for the average time buffers spend waiting in the queue
of the device impl before they are processed by the device interface.
Guidance for driver implementors:
1. If your driver uses a interrupt coalescing timeout, then this W should
just be that or slightly larger to account for the processing time.
2. If your driver does not use moderation, this value can be tuned:
a starting point would be to use (bit rate, MTU, Rx depth) to derive
a W under maximum pressure. As a reference (1Gbps, 1500, 256) leads to
a W of 3.0 ms (256 / (10**9 / 8 / 1500) seconds). It will make little
sense to go any bigger than that and you can decrease it and monitor
for packet drops. You can compare the value against common interrupt
coalescing configurations for reference.
Simple & delay_budget (int64_t value)
Wait time budget at the driver.
This is equivalent to W in Little's Law. More practically, this is an
upper bound for the average time buffers spend waiting in the queue
of the device impl before they are processed by the device interface.
Guidance for driver implementors:
1. If your driver uses a interrupt coalescing timeout, then this W should
just be that or slightly larger to account for the processing time.
2. If your driver does not use moderation, this value can be tuned:
a starting point would be to use (bit rate, MTU, Rx depth) to derive
a W under maximum pressure. As a reference (1Gbps, 1500, 256) leads to
a W of 3.0 ms (256 / (10**9 / 8 / 1500) seconds). It will make little
sense to go any bigger than that and you can decrease it and monitor
for packet drops. You can compare the value against common interrupt
coalescing configurations for reference.
void Simple (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
Friends
class MemberVisitor
class NaturalStructCodingTraits