// File: mh0fm4[P]SCDC/src/components/node/nodeport.cc
// Function: scdc_nodeport::open_config_conf(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, scdc_args*, bool&)
bool scdc_nodeport::open_config_conf(const std::string &conf, scdc_args *args, bool &done)
{
  done = true;
  bool ret = true;

  if (conf == "cmd_handler")
  {
    if (args->get<scdc_nodeport_cmd_handler_args_t>(SCDC_ARGS_TYPE_NODEPORT_CMD_HANDLER, &cmd_handler_args, true) == SCDC_ARG_REF_NULL)
    {
      SCDC_ERROR("open_config_conf: getting command handler");
      ret = false;

    } else
    {
      SCDC_TRACE("open_config_conf: cmd_handler: " << reinterpret_cast<void *>(cmd_handler_args.handler) << " / " << static_cast<void *>(cmd_handler_args.data));
    }

  } else if (conf == "max_connections")
  {
    if (args->get<scdcint_t>(SCDC_ARGS_TYPE_SCDCINT, &max_connections) == SCDC_ARG_REF_NULL)
    {
      SCDC_ERROR("open_config_conf: getting max. connections");
      ret = false;

    } else
    {
      SCDC_TRACE("open_config_conf: max_connections: " << max_connections);
    }

  } else if (conf.compare(0, 4, "zlib") == 0)
  {
    SCDC_TRACE("open_config_conf: cfg_compression: '" << cfg_compression << "'");
    cfg_compression = conf;

  } else done = false;

  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rax
movb $0x1, (%rax)
movb $0x1, -0x21(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x1383b(%rip), %rsi     # 0xa9951
callq 0x25b80
testb $0x1, %al
jne 0x96124
jmp 0x961dc
movq -0x30(%rbp), %rdx
movq -0x18(%rbp), %rdi
addq $0x48, %rdx
movl $0x12, %esi
movl $0x1, %ecx
callq 0x96c20
cmpq $0x0, %rax
jne 0x961d1
jmp 0x9614b
leaq 0x3e556(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
cmpq $0x0, %rax
je 0x961c9
leaq 0x3e541(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e900
leaq 0x3e532(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
movq %rax, %rdi
leaq 0x10320(%rip), %rsi     # 0xa64a8
callq 0xc670
movq %rax, %rdi
leaq 0x137c6(%rip), %rsi     # 0xa995d
callq 0xc670
movq %rax, %rdi
leaq 0x137c2(%rip), %rsi     # 0xa9968
callq 0xc670
movq %rax, %rdi
movq 0x3de0b(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x3e4e7(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e920
jmp 0x961cb
movb $0x0, -0x21(%rbp)
jmp 0x961d7
jmp 0x961d3
jmp 0x961d5
jmp 0x961d7
jmp 0x962e7
movq -0x10(%rbp), %rdi
leaq 0x137ab(%rip), %rsi     # 0xa9992
callq 0x25b80
testb $0x1, %al
jne 0x961f5
jmp 0x962a7
movq -0x30(%rbp), %rdx
movq -0x18(%rbp), %rdi
addq $0x68, %rdx
movl $0x2, %esi
xorl %ecx, %ecx
callq 0x4d170
cmpq $0x0, %rax
jne 0x9629f
jmp 0x96219
leaq 0x3e488(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
cmpq $0x0, %rax
je 0x96297
leaq 0x3e473(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e900
leaq 0x3e464(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
movq %rax, %rdi
leaq 0x10252(%rip), %rsi     # 0xa64a8
callq 0xc670
movq %rax, %rdi
leaq 0x136f8(%rip), %rsi     # 0xa995d
callq 0xc670
movq %rax, %rdi
leaq 0x1372e(%rip), %rsi     # 0xa99a2
callq 0xc670
movq %rax, %rdi
movq 0x3dd3d(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x3e419(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e920
jmp 0x96299
movb $0x0, -0x21(%rbp)
jmp 0x962a5
jmp 0x962a1
jmp 0x962a3
jmp 0x962a5
jmp 0x962e5
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x4, %edx
leaq 0x13712(%rip), %rcx     # 0xa99cd
callq 0xc910
cmpl $0x0, %eax
jne 0x962dc
jmp 0x962c7
jmp 0x962c9
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x70, %rdi
callq 0xc070
jmp 0x962e3
movq -0x20(%rbp), %rax
movb $0x0, (%rax)
jmp 0x962e5
jmp 0x962e7
movb -0x21(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)