���̴߳������̣��յ����̵߳�֪ͨ��Ϣ
| 140 | |
| 141 | // ���̴߳������̣��յ����̵߳�֪ͨ��Ϣ |
| 142 | void http_download::rpc_wakeup(void* ctx) |
| 143 | { |
| 144 | DOWN_CTX* down_ctx = (DOWN_CTX*) ctx; |
| 145 | |
| 146 | // �������߳��д����IJ�ͬ�����ؽν��д��� |
| 147 | |
| 148 | switch (down_ctx->type) |
| 149 | { |
| 150 | case CTX_T_REQ_HDR: |
| 151 | callback_->SetRequestHdr(req_hdr_.c_str()); |
| 152 | break; |
| 153 | case CTX_T_RES_HDR: |
| 154 | callback_->SetResponseHdr(res_hdr_.c_str()); |
| 155 | break; |
| 156 | case CTX_T_CONTENT_LENGTH: |
| 157 | break; |
| 158 | case CTX_T_PARTIAL_LENGTH: |
| 159 | total_read_ += down_ctx->length; |
| 160 | callback_->OnDownloading(content_length_, total_read_); |
| 161 | break; |
| 162 | case CTX_T_END: |
| 163 | logger("%s: read over", addr_.c_str()); |
| 164 | break; |
| 165 | default: |
| 166 | logger_error("%s: ERROR", addr_.c_str()); |
| 167 | break; |
| 168 | } |
| 169 | |
| 170 | // ɾ�������߳��ж�̬����Ķ��� |
| 171 | delete down_ctx; |
| 172 | } |
| 173 | |
| 174 | ////////////////////////////////////////////////////////////////////////// |
no test coverage detected