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

  bool ret = scdc_dataprov_relay::relay_rm(path);

  sched_t::iterator i = sched.find(path);

  if (ret && i != sched.end())
  {
    max_parallel_jobs -= i->second.max_parallel_jobs;

    if (sched_last == i)
    {
      ++sched_last;
      sched_last_jobs = 0;
    }

    sched.erase(i);

    SCDC_TRACE("relay_put: max_parallel_jobs: " << max_parallel_jobs);
    SCDC_INFO("removing relay for path '" << path << "' (total max. parallel jobs: " << max_parallel_jobs << ")");
  }

  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
jmp 0x8ec9d
movq -0x70(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x344b0
movq -0x70(%rbp), %rdi
andb $0x1, %al
movb %al, -0x11(%rbp)
addq $0xc8, %rdi
movq -0x10(%rbp), %rsi
callq 0x91200
movq %rax, -0x20(%rbp)
xorl %eax, %eax
testb $0x1, -0x11(%rbp)
movb %al, -0x71(%rbp)
je 0x8ecf6
movq -0x70(%rbp), %rdi
addq $0xc8, %rdi
callq 0x8f170
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x91000
movb %al, -0x71(%rbp)
movb -0x71(%rbp), %al
testb $0x1, %al
jne 0x8ed02
jmp 0x8eeea
leaq -0x20(%rbp), %rdi
callq 0x91030
movq -0x70(%rbp), %rdi
movq 0x20(%rax), %rcx
movq 0x128(%rdi), %rax
subq %rcx, %rax
movq %rax, 0x128(%rdi)
addq $0x130, %rdi            # imm = 0x130
leaq -0x20(%rbp), %rsi
callq 0x91080
testb $0x1, %al
jne 0x8ed3a
jmp 0x8ed59
movq -0x70(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
callq 0x91050
movq -0x70(%rbp), %rax
movq $0x0, 0x138(%rax)
movq -0x70(%rbp), %rdi
addq $0xc8, %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rsi
callq 0x91230
movq %rax, -0x38(%rbp)
jmp 0x8ed7b
jmp 0x8ed7d
leaq 0x45924(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x8eee6
leaq 0x4590b(%rip), %rax     # 0xd46a8
movq %rax, -0x98(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x98(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x1815b(%rip), %rsi     # 0xa6f20
callq 0xc670
movq %rax, -0x90(%rbp)
leaq -0x58(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x8eb70
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x80(%rbp)
jmp 0x8edfa
movq -0x80(%rbp), %rdi
leaq 0x1a553(%rip), %rsi     # 0xa9358
callq 0xc670
movq %rax, -0xa0(%rbp)
jmp 0x8ee13
movq -0xa0(%rbp), %rdi
leaq 0x1a664(%rip), %rsi     # 0xa9485
callq 0xc670
movq %rax, -0xa8(%rbp)
jmp 0x8ee2f
movq -0xa8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xc5b0
movq %rax, -0xb0(%rbp)
jmp 0x8ee48
movq -0xb0(%rbp), %rdi
leaq 0x1a649(%rip), %rsi     # 0xa949f
callq 0xc670
movq %rax, -0xb8(%rbp)
jmp 0x8ee64
movq -0xb8(%rbp), %rdi
movq -0x70(%rbp), %rax
movq 0x128(%rax), %rsi
callq 0xc340
movq %rax, -0xc0(%rbp)
jmp 0x8ee84
movq -0xc0(%rbp), %rdi
leaq 0x18a85(%rip), %rsi     # 0xa7917
callq 0xc670
movq %rax, -0xc8(%rbp)
jmp 0x8eea0
movq -0xc8(%rbp), %rdi
movq 0x45112(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x8eeb5
leaq -0x58(%rbp), %rdi
callq 0xc3e0
leaq 0x457e3(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x8eee6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xc3e0
jmp 0x8eef8
jmp 0x8eee8
jmp 0x8eeea
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0xd0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xcba0
nopw %cs:(%rax,%rax)