// File: /workspace/github_cpp_makefile_star2_O2/jianxinzhou[P]Smart/./include/MySocket.h
// Function: MySocket::MySocket(MyConf&)
MySocket(MyConf& conf)
            :conf_(conf)
        {
            std::cout << conf_.mapConf_["my_ip"] << std::endl;
            
            peerfd_ = socket(AF_INET, SOCK_DGRAM, 0);
            if(peerfd_ == -1)
            {
                std::cout <<__DATE__<<" "<<__TIME__ << " "<<__FILE__<<" "<<__LINE__<<": "<<"socket"<<std::endl ;
                exit(-1);
            }
            
            addrLen_ = sizeof(addr_);
            addr_.sin_family = AF_INET;
            addr_.sin_port = htons(atoi(conf_.mapConf_["my_port"].c_str()));
            addr_.sin_addr.s_addr = inet_addr(conf_.mapConf_["my_ip"].c_str());
            if(-1 ==  bind(peerfd_, (struct sockaddr*)&addr_, sizeof(addr_)) )
            {
                std::cout <<__DATE__<<" "<<__TIME__ << " "<<__FILE__<<" "<<__LINE__<<": "<<"bind"<<std::endl ;
                exit(-1);
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq %rsi, 0x18(%rdi)
leaq 0x52e0(%rip), %rsi      # 0x911c
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x3110
addq $0x208, %r14            # imm = 0x208
leaq -0x38(%rbp), %rsi
movq %r14, %rdi
callq 0x42b2
movq 0xa16d(%rip), %rdi      # 0xdfd0
movq %rax, %rsi
callq 0x3250
movq %rax, %rdi
callq 0x3160
leaq -0x38(%rbp), %rdi
callq 0x3140
pushq $0x2
popq %rdi
movl %edi, %esi
xorl %edx, %edx
callq 0x30b0
movl %eax, (%rbx)
cmpl $-0x1, %eax
je 0x3f46
movl $0x10, 0x14(%rbx)
movw $0x2, 0x4(%rbx)
movq 0x18(%rbx), %r14
leaq 0x5293(%rip), %rsi      # 0x913e
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x3110
addq $0x208, %r14            # imm = 0x208
leaq -0x38(%rbp), %rsi
movq %r14, %rdi
callq 0x42b2
movq (%rax), %rdi
callq 0x3400
rolw $0x8, %ax
movw %ax, 0x6(%rbx)
leaq -0x38(%rbp), %rdi
callq 0x3140
movq 0x18(%rbx), %r14
leaq 0x522d(%rip), %rsi      # 0x911c
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x3110
addq $0x208, %r14            # imm = 0x208
leaq -0x38(%rbp), %rsi
movq %r14, %rdi
callq 0x42b2
leaq 0x4(%rbx), %r14
movq (%rax), %rdi
callq 0x3290
movl %eax, 0x8(%rbx)
leaq -0x38(%rbp), %rdi
callq 0x3140
movl (%rbx), %edi
pushq $0x10
popq %rdx
movq %r14, %rsi
callq 0x3060
cmpl $-0x1, %eax
je 0x3fc2
addq $0x30, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq 0xa083(%rip), %rdi      # 0xdfd0
leaq 0x50bb(%rip), %rsi      # 0x900f
callq 0x3270
leaq 0x52bf(%rip), %rbx      # 0x921f
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3270
leaq 0x50a9(%rip), %rsi      # 0x901b
movq %rax, %rdi
callq 0x3270
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3270
leaq 0x5196(%rip), %rsi      # 0x9122
movq %rax, %rdi
callq 0x3270
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3270
pushq $0x19
popq %rsi
movq %rax, %rdi
callq 0x3470
leaq 0x526d(%rip), %rsi      # 0x921e
movq %rax, %rdi
callq 0x3270
leaq 0x5177(%rip), %rsi      # 0x9137
jmp 0x403c
movq 0xa007(%rip), %rdi      # 0xdfd0
leaq 0x503f(%rip), %rsi      # 0x900f
callq 0x3270
leaq 0x5243(%rip), %rbx      # 0x921f
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3270
leaq 0x502d(%rip), %rsi      # 0x901b
movq %rax, %rdi
callq 0x3270
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3270
leaq 0x511a(%rip), %rsi      # 0x9122
movq %rax, %rdi
callq 0x3270
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3270
pushq $0x23
popq %rsi
movq %rax, %rdi
callq 0x3470
leaq 0x51f1(%rip), %rsi      # 0x921e
movq %rax, %rdi
callq 0x3270
leaq 0x510a(%rip), %rsi      # 0x9146
movq %rax, %rdi
callq 0x3270
movq %rax, %rdi
callq 0x3160
pushq $-0x1
popq %rdi
callq 0x3300
jmp 0x4061
jmp 0x405c
jmp 0x4061
jmp 0x405c
movq %rax, %rbx
jmp 0x406d
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x3140
movq %rbx, %rdi
callq 0x3480
nop