// File: jianxinzhou[P]Smart/./src/testmain.cpp
// Function: main
int main(int argc, char* argv[])
{
	MyConf conf(argv[1]);
//	conf.show();
	ThreadPool apool(conf) ;
	MySocket socket(conf);
	apool.on();
	std::string word ;
	const int len = 1024 ;
	char buf[len];
	int iret ;
	while(true){
	memset(buf, 0, len);
	iret = socket.recv_message(buf, len) ;
	std::cout << "main" << buf <<"len: "<< iret << std::endl ;
	MyTask task(buf,socket.get_addr(), conf);
	apool.allocate_task(task);
	}
	apool.off();
	return 0 ;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x960, %rsp            # imm = 0x960
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x918(%rbp)
leaq -0x2b1(%rbp), %rdi
movq %rdi, -0x910(%rbp)
callq 0x3540
movq -0x918(%rbp), %rsi
movq -0x910(%rbp), %rdx
leaq -0x2b0(%rbp), %rdi
callq 0x3410
jmp 0x37f7
leaq -0x290(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x3b40
jmp 0x380c
leaq -0x2b0(%rbp), %rdi
callq 0x31f0
leaq -0x2b1(%rbp), %rdi
callq 0x3320
leaq -0x418(%rbp), %rdi
leaq -0x290(%rbp), %rsi
movl $0xc, %edx
callq 0x4330
jmp 0x383e
leaq -0x438(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x4520
jmp 0x3853
leaq -0x418(%rbp), %rdi
callq 0x4950
jmp 0x3861
leaq -0x458(%rbp), %rdi
callq 0x3420
movl $0x400, -0x45c(%rbp)    # imm = 0x400
jmp 0x3879
leaq -0x860(%rbp), %rdi
movq %rdi, -0x928(%rbp)
xorl %esi, %esi
movl $0x400, %edx            # imm = 0x400
callq 0x31c0
movq -0x928(%rbp), %rsi
leaq -0x438(%rbp), %rdi
movl $0x400, %edx            # imm = 0x400
callq 0x4a10
movl %eax, -0x91c(%rbp)
jmp 0x38b3
movl -0x91c(%rbp), %eax
movl %eax, -0x864(%rbp)
movq 0x1970a(%rip), %rdi     # 0x1cfd0
leaq 0xf73b(%rip), %rsi      # 0x13008
callq 0x32c0
movq %rax, -0x930(%rbp)
jmp 0x38db
movq -0x930(%rbp), %rdi
leaq -0x860(%rbp), %rsi
callq 0x32c0
movq %rax, -0x938(%rbp)
jmp 0x38f7
movq -0x938(%rbp), %rdi
leaq 0xf708(%rip), %rsi      # 0x1300d
callq 0x32c0
movq %rax, -0x940(%rbp)
jmp 0x3913
movq -0x940(%rbp), %rdi
movl -0x864(%rbp), %esi
callq 0x3520
movq %rax, -0x948(%rbp)
jmp 0x392e
movq -0x948(%rbp), %rdi
movq 0x1967c(%rip), %rsi     # 0x1cfb8
callq 0x3310
jmp 0x3943
leaq -0x8f1(%rbp), %rdi
movq %rdi, -0x950(%rbp)
callq 0x3540
movq -0x950(%rbp), %rdx
leaq -0x8f0(%rbp), %rdi
leaq -0x860(%rbp), %rsi
callq 0x3410
jmp 0x3972
leaq -0x438(%rbp), %rdi
callq 0x4a80
movq %rdx, -0x960(%rbp)
movq %rax, -0x958(%rbp)
jmp 0x398e
movq -0x960(%rbp), %rax
movq -0x958(%rbp), %rcx
movq %rcx, -0x904(%rbp)
movq %rax, -0x8fc(%rbp)
leaq -0x8d0(%rbp), %rdi
leaq -0x8f0(%rbp), %rsi
leaq -0x904(%rbp), %rdx
leaq -0x290(%rbp), %rcx
callq 0x4aa0
jmp 0x39cd
leaq -0x8f0(%rbp), %rdi
callq 0x31f0
leaq -0x8f1(%rbp), %rdi
callq 0x3320
leaq -0x418(%rbp), %rdi
leaq -0x8d0(%rbp), %rsi
callq 0x4b30
jmp 0x39fa
leaq -0x8d0(%rbp), %rdi
callq 0x4bb0
jmp 0x3877
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
jmp 0x3a3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x31f0
leaq -0x2b1(%rbp), %rdi
callq 0x3320
jmp 0x3b32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
jmp 0x3b26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
jmp 0x3b1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
jmp 0x3b0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
jmp 0x3b02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
jmp 0x3ad6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
leaq -0x8f0(%rbp), %rdi
callq 0x31f0
leaq -0x8f1(%rbp), %rdi
callq 0x3320
jmp 0x3b02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2c0(%rbp)
movl %eax, -0x2c4(%rbp)
leaq -0x8d0(%rbp), %rdi
callq 0x4bb0
leaq -0x458(%rbp), %rdi
callq 0x31f0
leaq -0x438(%rbp), %rdi
callq 0x4c00
leaq -0x418(%rbp), %rdi
callq 0x4c30
leaq -0x290(%rbp), %rdi
callq 0x4c90
movq -0x2c0(%rbp), %rdi
callq 0x3530
nop