// File: metopa[P]HTTP_Server/src/logger/CLogger.cpp
// Function: CLogger::printStatistic(int, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l>>> 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>> const&)
void CLogger::printStatistic( int port, const high_resolution_clock::time_point& time, const string& input,
							  const string& output ) {
	if ( !initialized_m || config.checkLogFlag( STATISTICS ) ) {
		mutex_m.lock();
		printTimestamp();
		auto us = chrono::duration_cast<chrono::microseconds>( high_resolution_clock::now() - time ).count();
		auto ms = us / 1000;
		us %= 1000;
		*logStream_m << '\t' << logflagsNS::logFlagsToStringPrintable( STATISTICS ) << ' ' <<
		"port:" << port << '\t' <<
		"processing_time(ms):" << ms << '.' << us << '\t' <<
		//"request_header:" << substractHeader( inputMsg_m ) << '\t' <<
		"request_size:" << input.size() << "\t" <<

		"response_size:" << output.size() << endl;
		mutex_m.unlock();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
testb $0x1, 0x3c(%rax)
je 0x20453
leaq 0x1f1a0(%rip), %rdi     # 0x3f5e0
movl $0xa, %esi
callq 0x8490
testb $0x1, %al
jne 0x20453
jmp 0x205dc
movq -0x58(%rbp), %rdi
addq $0x10, %rdi
callq 0x2b990
movq -0x58(%rbp), %rdi
callq 0x20190
callq 0x60a0
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x20620
movq %rax, -0x40(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x205f0
movq %rax, -0x38(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x20670
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
cqto
idivq %rcx
movq %rax, -0x50(%rbp)
movq -0x30(%rbp), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
cqto
idivq %rcx
movq -0x58(%rbp), %rax
movq %rdx, -0x30(%rbp)
movq (%rax), %rdi
movl $0x9, %esi
callq 0x65b0
movq %rax, -0x70(%rbp)
movl $0xa, %edi
callq 0x208a0
movq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x64c0
movq %rax, %rdi
movl $0x20, %esi
callq 0x65b0
movq %rax, %rdi
leaq 0xc1f6(%rip), %rsi      # 0x2c6f9
callq 0x64c0
movq %rax, %rdi
movl -0xc(%rbp), %esi
callq 0x6900
movq %rax, %rdi
movl $0x9, %esi
callq 0x65b0
movq %rax, %rdi
leaq 0xc1d5(%rip), %rsi      # 0x2c6ff
callq 0x64c0
movq %rax, %rdi
movq -0x50(%rbp), %rsi
callq 0x6970
movq %rax, %rdi
movl $0x2e, %esi
callq 0x65b0
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x6970
movq %rax, %rdi
movl $0x9, %esi
callq 0x65b0
movq %rax, %rdi
leaq 0xc1a9(%rip), %rsi      # 0x2c714
callq 0x64c0
movq %rax, -0x68(%rbp)
movq -0x20(%rbp), %rdi
callq 0x6360
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, %rdi
leaq 0xc938(%rip), %rsi      # 0x2cecb
callq 0x64c0
movq %rax, %rdi
leaq 0xc180(%rip), %rsi      # 0x2c722
callq 0x64c0
movq %rax, -0x60(%rbp)
movq -0x28(%rbp), %rdi
callq 0x6360
movq -0x60(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, %rdi
movq 0x1e9ee(%rip), %rsi     # 0x3efb8
callq 0x6520
movq -0x58(%rbp), %rdi
addq $0x10, %rdi
callq 0x2b9e0
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)