-
Notifications
You must be signed in to change notification settings - Fork 1
/
galaxy_flag.cc
26 lines (19 loc) · 1.02 KB
/
galaxy_flag.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <cstdlib>
#include "absl/flags/flag.h"
#include "cpp/core/galaxy_flag.h"
#define EnvToString(envname, dflt) \
(!getenv(envname) ? (dflt) : getenv(envname))
#define EnvToInt(envname, dflt) \
(!getenv(envname) ? (dflt) : strtol(getenv(envname), NULL, 10))
#define EnvToBool(envname, dflt) \
(!getenv(envname) ? (dflt) : memchr("tTyY1\0", getenv(envname)[0], 6) != NULL)
#define GALAXY_DEFINE_string(name, value, meaning) \
ABSL_FLAG(std::string, name, EnvToString("GALAXY_" #name, value), meaning)
#define GALAXY_DEFINE_int(name, value, meaning) \
ABSL_FLAG(int, name, EnvToInt("GALAXY_" #name, value), meaning)
#define GALAXY_DEFINE_bool(name, value, meaning) \
ABSL_FLAG(bool, name, EnvToInt("GALAXY_" #name, value), meaning)
GALAXY_DEFINE_int(fs_rpc_ddl, 10, "The deadline for grpc in seconds.");
// Global configurations
GALAXY_DEFINE_string(fs_global_config, "", "The global configuration (json file) for galaxy filesystems.");
GALAXY_DEFINE_string(fs_cell, "", "Current cell of the galaxy filesystems.");