145 std::chrono::milliseconds m_value;
217 template<typename... Knobs>
219 (Apply(std::move(knobs)), ...);
248 m_read_ahead = knob.Value();
252 m_max_memory = knob.Value();
256 m_max_wait = knob.Value();
259 template<
typename Knob>
260 void Apply(Knob&&) =
delete;
262 std::optional<StormByte::ByteSize> m_read_ahead;
263 std::optional<StormByte::ByteSize> m_max_memory;
264 std::optional<std::chrono::milliseconds> m_max_wait;
286 template<typename... Knobs>
288 (Apply(std::move(knobs)), ...);
296 return m_write_chunk;
304 return m_back_pressure;
325 m_write_chunk = knob.Value();
329 m_back_pressure = knob.Value();
333 m_max_memory = knob.Value();
337 m_max_wait = knob.Value();
340 template<
typename Knob>
341 void Apply(Knob&&) =
delete;
343 std::optional<StormByte::ByteSize> m_write_chunk;
344 std::optional<std::size_t> m_back_pressure;
345 std::optional<StormByte::ByteSize> m_max_memory;
346 std::optional<std::chrono::milliseconds> m_max_wait;
Writer ring cap in WriteChunk units.
Definition parameters.hxx:177
STORMBYTE_FORCE_INLINE BackPressure(const std::size_t value) noexcept
Store the cap in chunks.
Definition parameters.hxx:183
STORMBYTE_FORCE_INLINE std::size_t Value() const noexcept
Cap in chunks.
Definition parameters.hxx:190
Cache / dirty-page budget knob.
Definition parameters.hxx:102
STORMBYTE_FORCE_INLINE StormByte::ByteSize Value() const noexcept
Memory budget.
Definition parameters.hxx:115
STORMBYTE_FORCE_INLINE MaxMemory(const StormByte::ByteSize value) noexcept
Store the memory budget.
Definition parameters.hxx:108
Origin wait cap.
Definition parameters.hxx:127
STORMBYTE_FORCE_INLINE MaxWait(const std::chrono::milliseconds value) noexcept
Store the wait cap.
Definition parameters.hxx:133
STORMBYTE_FORCE_INLINE std::chrono::milliseconds Value() const noexcept
Wait cap.
Definition parameters.hxx:140
Prefetch length knob.
Definition parameters.hxx:77
STORMBYTE_FORCE_INLINE StormByte::ByteSize Value() const noexcept
Prefetch length.
Definition parameters.hxx:90
STORMBYTE_FORCE_INLINE ReadAhead(const StormByte::ByteSize value) noexcept
Store the prefetch length.
Definition parameters.hxx:83
Optional reader knobs.
Definition parameters.hxx:205
STORMBYTE_FORCE_INLINE ReaderParameters() noexcept=default
No knobs.
STORMBYTE_FORCE_INLINE const std::optional< std::chrono::milliseconds > & MaxWait() const noexcept
Wait cap when the caller set it.
Definition parameters.hxx:242
STORMBYTE_FORCE_INLINE const std::optional< StormByte::ByteSize > & ReadAhead() const noexcept
Prefetch length when the caller set it.
Definition parameters.hxx:226
STORMBYTE_FORCE_INLINE const std::optional< StormByte::ByteSize > & MaxMemory() const noexcept
Cache cap when the caller set it.
Definition parameters.hxx:234
Origin push unit.
Definition parameters.hxx:152
STORMBYTE_FORCE_INLINE StormByte::ByteSize Value() const noexcept
Chunk size.
Definition parameters.hxx:165
STORMBYTE_FORCE_INLINE WriteChunk(const StormByte::ByteSize value) noexcept
Store the chunk size.
Definition parameters.hxx:158
Optional writer knobs.
Definition parameters.hxx:274
STORMBYTE_FORCE_INLINE const std::optional< StormByte::ByteSize > & WriteChunk() const noexcept
Chunk size when the caller set it.
Definition parameters.hxx:295
STORMBYTE_FORCE_INLINE const std::optional< std::chrono::milliseconds > & MaxWait() const noexcept
Wait cap when the caller set it.
Definition parameters.hxx:319
STORMBYTE_FORCE_INLINE const std::optional< std::size_t > & BackPressure() const noexcept
Backpressure when the caller set it.
Definition parameters.hxx:303
STORMBYTE_FORCE_INLINE WriterParameters() noexcept=default
No knobs.
STORMBYTE_FORCE_INLINE const std::optional< StormByte::ByteSize > & MaxMemory() const noexcept
Dirty-page budget when the caller set it.
Definition parameters.hxx:311
Root namespace of the StormByte C++ suite.