Move common knob initialization macros to header
This commit is contained in:
parent
e2d897a2c2
commit
d554205db3
|
|
@ -23,12 +23,8 @@
|
|||
#include "fdbclient/SystemData.h"
|
||||
#include "flow/UnitTest.h"
|
||||
|
||||
#define KNOB_FN(_1, _2, _3, FN, ...) FN
|
||||
#define init(...) KNOB_FN(__VA_ARGS__, INIT_ATOMIC_KNOB, INIT_KNOB)(__VA_ARGS__)
|
||||
|
||||
#define INIT_KNOB(knob, value) initKnob(knob, value, #knob)
|
||||
#define INIT_ATOMIC_KNOB(knob, value, atomic) initKnob(knob, value, #knob, atomic)
|
||||
|
||||
ClientKnobs::ClientKnobs(Randomize randomize) {
|
||||
initialize(randomize);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,12 +20,8 @@
|
|||
|
||||
#include "fdbclient/ServerKnobs.h"
|
||||
|
||||
#define KNOB_FN(_1, _2, _3, FN, ...) FN
|
||||
#define init(...) KNOB_FN(__VA_ARGS__, INIT_ATOMIC_KNOB, INIT_KNOB)(__VA_ARGS__)
|
||||
|
||||
#define INIT_KNOB(knob, value) initKnob(knob, value, #knob)
|
||||
#define INIT_ATOMIC_KNOB(knob, value, atomic) initKnob(knob, value, #knob, atomic)
|
||||
|
||||
ServerKnobs::ServerKnobs(Randomize randomize, ClientKnobs* clientKnobs, IsSimulated isSimulated) {
|
||||
initialize(randomize, clientKnobs, isSimulated);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,12 +34,8 @@ FlowKnobs::FlowKnobs(Randomize randomize, IsSimulated isSimulated) {
|
|||
FlowKnobs bootstrapGlobalFlowKnobs(Randomize::False, IsSimulated::False);
|
||||
FlowKnobs const* FLOW_KNOBS = &bootstrapGlobalFlowKnobs;
|
||||
|
||||
#define KNOB_FN(_1, _2, _3, FN, ...) FN
|
||||
#define init(...) KNOB_FN(__VA_ARGS__, INIT_ATOMIC_KNOB, INIT_KNOB)(__VA_ARGS__)
|
||||
|
||||
#define INIT_KNOB(knob, value) initKnob(knob, value, #knob)
|
||||
#define INIT_ATOMIC_KNOB(knob, value, atomic) initKnob(knob, value, #knob, atomic)
|
||||
|
||||
// clang-format off
|
||||
void FlowKnobs::initialize(Randomize randomize, IsSimulated isSimulated) {
|
||||
init( AUTOMATIC_TRACE_DUMP, 1 );
|
||||
|
|
|
|||
|
|
@ -32,6 +32,12 @@
|
|||
#include <variant>
|
||||
#include <optional>
|
||||
|
||||
// Helper macros to allow the init macro to be called with an optional third
|
||||
// paramater, used to explicit set atomicity of knobs.
|
||||
#define KNOB_FN(_1, _2, _3, FN, ...) FN
|
||||
#define INIT_KNOB(knob, value) initKnob(knob, value, #knob)
|
||||
#define INIT_ATOMIC_KNOB(knob, value, atomic) initKnob(knob, value, #knob, atomic)
|
||||
|
||||
// NOTE: Directly using KnobValueRef as the return type for Knobs::parseKnobValue would result
|
||||
// in a cyclic dependency, so we use this intermediate ParsedKnobValue type
|
||||
struct NoKnobFound {};
|
||||
|
|
|
|||
Loading…
Reference in New Issue