47 const char* master_value = std::getenv(
"LD_LIBRARY_PATH");
70 "As part of the global shared memory, we reserve this size of 'user memory' that can be"
71 " used for arbitrary purporses by the user to communicate between SOCs.");
73 "String pattern of path of executables to spawn SOC engines in each NUMA node.\n"
74 " The default value is empty, which means we use the binary of the master (/proc/self/exe).\n"
75 " If non-empty, we use the path to launch each SOC engine.\n"
76 " A placeholder '$NODE$' is replaced with the NUMA node number.\n"
77 " If soc_type_ is not kChildLocalSpawned or kChildRemoteSpawned, this option is ignored.");
79 "LD_LIBRARY_PATH environment variable to spawn SOC engines in each NUMA node.\n"
80 " The default value is empty, which means we don't overwrite LD_LIBRARY_PATH of this master"
81 " process. To overwrite master process's LD_LIBRARY_PATH with empty value, put one space etc.");
#define EXTERNALIZE_LOAD_ELEMENT(element, attribute)
Reads a child xml element to load a member variable of this object.
fs::FixedPath spawn_ld_library_path_pattern_
String pattern of LD_LIBRARY_PATH environment variable to spawn SOC engines in each NUMA node...
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
SocOptions()
Constructs option values with default values.
Brings error stacktrace information as return value of functions.
EngineType soc_type_
How to launch SOC engine instances.
static ErrorStack insert_comment(tinyxml2::XMLElement *element, const std::string &comment)
#define EXTERNALIZE_SAVE_ENUM_ELEMENT(element, attribute, comment)
Adds an xml element to represent a member variable of this object.
std::string convert_spawn_executable_pattern(int node) const
converts spawn_executable_pattern_ into a string with the given node ID.
std::string get_current_executable_path()
Returns the full path of current executable.
#define EXTERNALIZE_LOAD_ENUM_ELEMENT(element, attribute)
Reads a child xml element to load a member variable of this object.
std::string replace_all(const std::string &target, const std::string &search, const std::string &replacement)
target.replaceAll(search, replacement).
bool empty() const noexcept
Test if string is empty.
fs::FixedPath spawn_executable_pattern_
String pattern of path of executables to spawn SOC engines in each NUMA node.
std::basic_string< CHAR > str() const
Convert to a std::string object.
#define CHECK_ERROR(x)
This macro calls x and checks its returned value.
const ErrorStack kRetOk
Normal return value for no-error case.
ErrorStack load(tinyxml2::XMLElement *element) override
Reads the content of this object from the given XML element.
#define EXTERNALIZE_SAVE_ELEMENT(element, attribute, comment)
Adds an xml element to represent a member variable of this object.
default for shared_user_memory_size_kb_
uint64_t shared_user_memory_size_kb_
As part of the global shared memory, we reserve this size of 'user memory' that can be used for arbit...
ErrorStack save(tinyxml2::XMLElement *element) const override
Writes the content of this object to the given XML element.
std::string convert_spawn_ld_library_path_pattern(int node) const
converts spawn_ld_library_path_pattern_ into a string with the given node ID.
A child SOC instance launched just as a thread in the same process as master.