* �����麯�������������ӵ������ô˻ص����� * @param client {aio_socket_stream*} �첽�ͻ����� * @return {bool} ���� true ��֪ͨ�������������� */
| 99 | * @return {bool} ���� true ��֪ͨ�������������� |
| 100 | */ |
| 101 | bool accept_callback(acl::aio_socket_stream* client) |
| 102 | { |
| 103 | // ������������߳���Ԥ��������������Ԥ����־λ |
| 104 | if (preread_) |
| 105 | { |
| 106 | ACL_VSTREAM* vstream = client->get_vstream(); |
| 107 | vstream->flag |= ACL_VSTREAM_FLAG_PREREAD; |
| 108 | } |
| 109 | |
| 110 | // �����첽�ͻ������Ļص���������첽�����а� |
| 111 | handle_io* callback = new handle_io(client); |
| 112 | |
| 113 | // ע���첽���Ķ��ص����� |
| 114 | client->add_read_callback(callback); |
| 115 | |
| 116 | // ע���첽����д�ص����� |
| 117 | client->add_write_callback(callback); |
| 118 | |
| 119 | // ע���첽���Ĺرջص����� |
| 120 | client->add_close_callback(callback); |
| 121 | |
| 122 | // ע���첽���ij�ʱ�ص����� |
| 123 | client->add_timeout_callback(callback); |
| 124 | |
| 125 | rpc_read_wait_add(); |
| 126 | |
| 127 | // ����첽���Ƿ�ɶ� |
| 128 | client->read_wait(10); |
| 129 | |
| 130 | return (true); |
| 131 | } |
| 132 | |
| 133 | private: |
| 134 | bool preread_; |
nothing calls this directly
no test coverage detected