| 179 | } |
| 180 | |
| 181 | void TransferPool::onTransferComplete(TransferPool::Transfer* t) |
| 182 | { |
| 183 | if(t->transfer->status == LIBUSB_TRANSFER_CANCELLED) |
| 184 | { |
| 185 | t->setStopped(true); |
| 186 | return; |
| 187 | } |
| 188 | |
| 189 | // process data |
| 190 | processTransfer(t->transfer); |
| 191 | |
| 192 | if(!enable_submit_) |
| 193 | { |
| 194 | t->setStopped(true); |
| 195 | return; |
| 196 | } |
| 197 | |
| 198 | // resubmit self |
| 199 | int r = libusb_submit_transfer(t->transfer); |
| 200 | |
| 201 | if(r != LIBUSB_SUCCESS) |
| 202 | { |
| 203 | LOG_ERROR << "failed to submit transfer: " << WRITE_LIBUSB_ERROR(r); |
| 204 | t->setStopped(true); |
| 205 | } |
| 206 | } |
| 207 | |
| 208 | BulkTransferPool::BulkTransferPool(libusb_device_handle* device_handle, unsigned char device_endpoint) : |
| 209 | TransferPool(device_handle, device_endpoint) |
no test coverage detected