| 575 | } |
| 576 | |
| 577 | int64_t |
| 578 | Http3Transaction::_process_read_vio() |
| 579 | { |
| 580 | if (this->_info.read_vio->cont == nullptr || this->_info.read_vio->op == VIO::NONE) { |
| 581 | return 0; |
| 582 | } |
| 583 | |
| 584 | ink_release_assert(this->_thread == this_ethread()); |
| 585 | SCOPED_MUTEX_LOCK(lock, this->_info.read_vio->mutex, this_ethread()); |
| 586 | |
| 587 | uint64_t nread = 0; |
| 588 | auto error = this->_frame_dispatcher.on_read_ready(this->_info.adapter.stream().id(), Http3StreamType::UNKNOWN, |
| 589 | *this->_info.read_vio->get_reader(), nread); |
| 590 | if (error && error->cls != Http3ErrorClass::UNDEFINED) { |
| 591 | Http3TransDebug("Error occured while processing read vio: %hu, %s", error->get_code(), error->msg); |
| 592 | return 0; |
| 593 | } |
| 594 | this->_info.read_vio->ndone += nread; |
| 595 | return nread; |
| 596 | } |
| 597 | |
| 598 | int64_t |
| 599 | Http3Transaction::_process_write_vio() |
no test coverage detected