20 const auto parsed{ToIntegral<int64_t>(value)};
31 constexpr std::string_view UNIX_PREFIX{
"unix:"};
36 if (!address.starts_with(UNIX_PREFIX)) {
46 const size_t option_pos{address.find(
',')};
47 if (option_pos == std::string::npos) {
51 const std::string_view address_view{address};
57 for (
const std::string& option_str :
util::SplitString(address_view.substr(option_pos + 1),
',')) {
58 if (option_str.empty()) {
61 const size_t eq{option_str.find(
'=')};
62 const std::string_view
name{std::string_view{option_str}.substr(0, eq)};
63 const std::string_view value{eq == std::string::npos ? std::string_view{} : std::string_view{option_str}.substr(eq + 1)};
64 if (
name ==
"max-connections") {
67 listen_address.max_connections =
static_cast<size_t>(*parsed);
73 return listen_address;
static util::Result< ipc::ListenAddress > parseListenAddress(std::string address)
Parse an IPC listening address and its per-listener options.
constexpr size_t MAX_CONNECTIONS
Maximum accepted client connection limit for an IPC listening socket.
std::vector< std::string > SplitString(std::string_view str, char sep)
bilingual_str ErrorString(const Result< T > &result)
std::string address
Socket address passed to ipc::Process::bind(), with any -ipcbind socket options stripped.
bilingual_str Untranslated(std::string original)
Mark a bilingual_str as untranslated.
std::string UrlDecode(std::string_view url_encoded)