// File: /workspace/github_cpp_makefile_star2_O3/mh0fm4[P]SCDC/src/components/dataprov/dataprov_jobrun_relay.cc
// Function: scdc_dataprov_jobrun_relay::relay_put(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
bool scdc_dataprov_jobrun_relay::relay_put(const std::string &path, const std::string &url, std::string &result)
{
  SCDC_TRACE("relay_put: path: '" << path << "', url: '" << url << "'");

  scdc_dataset_input_t *input = NULL;
  scdc_dataset_output_t output_, *output = &output_;

  output = scdc_dataset_output_create(output, "alloc");

  string cmd = url + "/CONFIG get type,max_parallel_jobs";

  bool ret = scdc_dataset_cmd(SCDC_DATASET_NULL, cmd.c_str(), input, output);

  if (ret)
  {
    string s = SCDC_DATASET_OUTPUT_STR_(output);
    stringlist sl(',', s.c_str(), s.size());

    if (sl.front_pop() != "jobrun")
    {
      result = "url '" + url + "' is not a jobrun datprovider";
      SCDC_FAIL("relay_put: " << result);
      ret = false;

    } else
    {
      ret = scdc_dataprov_relay::relay_put(path, url, result);

      if (ret)
      {
        stringstream ss(sl.front_pop());

        scdcint_t p;

        ss >> p;

        sched.insert(sched_t::value_type(path, scdc_dataprov_jobrun_relay_sched_t(p)));
        max_parallel_jobs += p;

        SCDC_TRACE("relay_put: schedule " << p << " jobs for path '" << path << "'");
        SCDC_TRACE("relay_put: max_parallel_jobs: " << max_parallel_jobs);
        SCDC_INFO("adding relay to '" << url << "' for path '" << path << "' with " << p << " max. parallel jobs (total max. parallel jobs: " << max_parallel_jobs << ")");
      }
    }

  } else
  {
    result = "accessing data provider '" + url + "' failed: ???";
    SCDC_FAIL("relay_put: " << result);
  }

  scdc_dataset_output_destroy(output);

  return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x398, %rsp            # imm = 0x398
movq %rcx, 0x8(%rsp)
movq %rdx, %r13
movq %rsi, %r15
movq %rdi, %r12
leaq 0x12b69(%rip), %rsi     # 0x6b09d
leaq 0x340(%rsp), %rdi
xorl %eax, %eax
callq 0x2d46f
movq %rax, %rbx
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x38(%rsp), %rbp
movq %rbp, %rdi
callq 0x1d0a0
leaq 0x14e68(%rip), %rsi     # 0x6d3d6
movq %rbp, %rdi
callq 0xba60
movq 0x38(%rsp), %rsi
xorl %edi, %edi
xorl %edx, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x1ab07
testq %rax, %rax
movq %rbx, 0x78(%rsp)
je 0x585c7
leaq 0x28(%rsp), %rax
testq %rbx, %rbx
je 0x5862f
movq 0x10(%rbx), %rsi
testq %rsi, %rsi
je 0x5864c
movq 0x20(%rbx), %rdx
addq %rsi, %rdx
leaq 0x18(%rsp), %rdi
movq %rax, (%rdi)
callq 0x1be38
jmp 0x58663
leaq 0x14eb3(%rip), %rsi     # 0x6d481
leaq 0xb0(%rsp), %rdi
movq %r13, %rdx
callq 0x1b7aa
leaq 0x14eb6(%rip), %rsi     # 0x6d49b
leaq 0xb0(%rsp), %rdi
callq 0xba60
movq 0x8(%rsp), %rdi
leaq 0x1c8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x58b63
movq %rdx, 0x1b8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1c8(%rsp)
jmp 0x58b6b
leaq 0x18(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x14dbb(%rip), %rsi     # 0x6d3f9
leaq 0x14dba(%rip), %rdx     # 0x6d3ff
callq 0x1be38
jmp 0x58663
leaq 0x18(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x12ed2(%rip), %rdx     # 0x6b52d
movq %rdx, %rsi
callq 0x1be38
movq 0x18(%rsp), %rdx
movq 0x20(%rsp), %rcx
leaq 0x80(%rsp), %rdi
movl $0x2c, %esi
callq 0x1b83e
leaq 0x1b8(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x1b878
leaq 0x11db4(%rip), %rsi     # 0x6a44f
leaq 0x1b8(%rsp), %r14
movq %r14, %rdi
callq 0xb110
movl %eax, %ebp
movq (%r14), %rdi
leaq 0x1c8(%rsp), %rbx
cmpq %rbx, %rdi
je 0x586cd
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0xb510
testl %ebp, %ebp
je 0x58734
leaq 0x12267(%rip), %rsi     # 0x6a93f
leaq 0xb0(%rsp), %rdi
movq %r13, %rdx
callq 0x1b7aa
leaq 0x14d11(%rip), %rsi     # 0x6d400
leaq 0xb0(%rsp), %rdi
callq 0xba60
movq 0x8(%rsp), %r15
movq %rbx, 0x1b8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x58a1d
movq %rdx, 0x1b8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1c8(%rsp)
jmp 0x58a23
movq %r12, %rdi
movq %r15, %rbx
movq %r15, %rsi
movq %r13, %rdx
movq 0x8(%rsp), %rcx
callq 0x21b78
testb %al, %al
je 0x58b2f
leaq 0xb0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x1b878
leaq 0x1b8(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
movl $0x18, %edx
callq 0xb8d0
leaq 0xc0(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x587a2
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x1b8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xb750
movq 0x10(%rsp), %r15
leaq 0xb0(%rsp), %rdi
movq %r14, (%rdi)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
callq 0x1d0a0
leaq 0xb0(%rsp), %rsi
movq %r15, 0x20(%rsi)
leaq 0xc8(%r12), %rdi
callq 0x5b944
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
je 0x58809
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x10(%rsp), %rax
addq %rax, 0x128(%r12)
leaq 0x33d53(%rip), %rbp     # 0x8c570
movq (%rbp), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x589f4
addq $0x20, %rdi
callq 0xb7d0
movq (%rbp), %rax
movq 0x8(%rax), %r15
leaq 0x12714(%rip), %rsi     # 0x6af58
movl $0xb, %edx
movq %r15, %rdi
callq 0xb5f0
xorl %edi, %edi
callq 0xb4a0
leaq 0xa8(%rsp), %rdi
movq %rax, (%rdi)
callq 0xb3a0
movl 0xc(%rax), %edx
movl 0x10(%rax), %ecx
movl $0x76c, %r8d            # imm = 0x76C
addl 0x14(%rax), %r8d
incl %ecx
movl 0x8(%rax), %r9d
movl (%rax), %r10d
movl 0x4(%rax), %r11d
leaq 0x126ff(%rip), %rsi     # 0x6af8b
leaq 0xb0(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
pushq %r10
pushq %r11
callq 0xb0d0
addq $0x10, %rsp
leaq 0x68(%rsp), %rax
movq %rax, -0x10(%rax)
movq %r14, %rdi
callq 0xb200
leaq (%rsp,%rax), %rdx
addq $0xb0, %rdx
leaq 0x58(%rsp), %rdi
movq %r14, %rsi
callq 0x1be38
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq %r15, %rdi
callq 0xb5f0
movq %rax, %r15
leaq 0x14a91(%rip), %rsi     # 0x6d37c
movl $0x17, %edx
movq %rax, %rdi
callq 0xb5f0
leaq 0x14b2b(%rip), %rsi     # 0x6d42a
movl $0x11, %edx
movq %r15, %rdi
callq 0xb5f0
movq (%r13), %rsi
movq 0x8(%r13), %rdx
movq %r15, %rdi
callq 0xb5f0
movq %rax, %r15
leaq 0x14b16(%rip), %rsi     # 0x6d43c
movl $0xc, %edx
movq %rax, %rdi
callq 0xb5f0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r15, %rdi
callq 0xb5f0
movq %rax, %r15
leaq 0x14afd(%rip), %rsi     # 0x6d449
movl $0x7, %edx
movq %rax, %rdi
callq 0xb5f0
movq 0x10(%rsp), %rsi
movq %r15, %rdi
callq 0xb1d0
movq %rax, %r15
leaq 0x14ae1(%rip), %rsi     # 0x6d451
movl $0x2f, %edx
movq %rax, %rdi
callq 0xb5f0
movq 0x128(%r12), %rsi
movq %r15, %rdi
callq 0xb1d0
movq %rax, %r14
leaq 0x12fc8(%rip), %rsi     # 0x6b95f
movl $0x1, %edx
movq %rax, %rdi
callq 0xb5f0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0xb4d0
movsbl %al, %esi
movq %r14, %rdi
callq 0xb050
movq %rax, %rdi
callq 0xb340
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x589e7
movq 0x68(%rsp), %rsi
incq %rsi
callq 0xb510
movq (%rbp), %rdi
addq $0x20, %rdi
callq 0xb3b0
movq 0x335b5(%rip), %rsi     # 0x8bfb0
leaq 0x1b8(%rsp), %rdi
callq 0xb390
leaq 0x238(%rsp), %rdi
callq 0xb180
movb $0x1, %bpl
jmp 0x58b31
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
leaq 0x1b8(%rsp), %r14
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
movq %r14, %rsi
callq 0xb670
movq (%r14), %rdi
cmpq %rbx, %rdi
je 0x58a65
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58a86
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x33ae3(%rip), %r12     # 0x8c570
movq (%r12), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x58b2f
addq $0x20, %rdi
callq 0xb7d0
movq (%r12), %rax
movq 0x8(%rax), %r14
leaq 0x116f4(%rip), %rsi     # 0x6a1a8
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x148b4(%rip), %rsi     # 0x6d37c
movl $0x17, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x14942(%rip), %rsi     # 0x6d41e
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %r14, %rdi
callq 0xb5f0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0xb4d0
movsbl %al, %esi
movq %r14, %rdi
callq 0xb050
movq %rax, %rdi
callq 0xb340
movq (%r12), %rdi
addq $0x20, %rdi
callq 0xb3b0
xorl %ebp, %ebp
leaq 0x80(%rsp), %rdi
callq 0x1bad0
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x58c7b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x58c7b
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x1b8(%rsp), %r14
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rsi
callq 0xb670
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x58baa
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58bcb
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x3399e(%rip), %r12     # 0x8c570
movq (%r12), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x58c79
addq $0x20, %rdi
callq 0xb7d0
movq (%r12), %rax
movq 0x8(%rax), %r14
leaq 0x115af(%rip), %rsi     # 0x6a1a8
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x1476f(%rip), %rsi     # 0x6d37c
movl $0x17, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x147fd(%rip), %rsi     # 0x6d41e
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
movq 0x8(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r14, %rdi
callq 0xb5f0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0xb4d0
movsbl %al, %esi
movq %r14, %rdi
callq 0xb050
movq %rax, %rdi
callq 0xb340
movq (%r12), %rdi
addq $0x20, %rdi
callq 0xb3b0
xorl %ebp, %ebp
movq 0x78(%rsp), %rdi
callq 0x2d55f
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x58ca1
movq 0x48(%rsp), %rsi
incq %rsi
callq 0xb510
movl %ebp, %eax
addq $0x398, %rsp            # imm = 0x398
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x58ce6
movq %rax, %rbx
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
je 0x58d72
movq 0xc0(%rsp), %rsi
jmp 0x58d6a
jmp 0x58ce6
jmp 0x58d22
jmp 0x58d95
jmp 0x58dc3
movq %rax, %rbx
jmp 0x58d72
jmp 0x58dc3
jmp 0x58dc3
movq %rax, %rbx
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58dc6
movq 0xc0(%rsp), %rsi
jmp 0x58db9
jmp 0x58dc3
movq %rax, %rbx
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58d98
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x58d98
jmp 0x58d95
jmp 0x58d95
movq %rax, %rbx
jmp 0x58da5
jmp 0x58dc3
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x58d72
movq 0x68(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x33237(%rip), %rsi     # 0x8bfb0
leaq 0x1b8(%rsp), %rdi
callq 0xb390
leaq 0x238(%rsp), %rdi
callq 0xb180
jmp 0x58d98
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x1bad0
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x58dc6
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x58dc6
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x58de2
movq 0x48(%rsp), %rsi
incq %rsi
callq 0xb510
movq %rbx, %rdi
callq 0xb9c0