| 612 | } |
| 613 | |
| 614 | bool RequestSendedCompletely() const noexcept { |
| 615 | DBGOUT("RequestSendedCompletely()"); |
| 616 | if (!Connected_ || !RequestWritten_) { |
| 617 | return false; |
| 618 | } |
| 619 | if (BeginReadResponse_) { |
| 620 | return true; |
| 621 | } |
| 622 | #if defined(FIONWRITE) |
| 623 | if (THttp2Options::EnsureSendingCompleteByAck) { |
| 624 | int nbytes = Max<int>(); |
| 625 | int err = ioctl(AS_.Native(), FIONWRITE, &nbytes); |
| 626 | return err ? false : nbytes == 0; |
| 627 | } |
| 628 | #endif |
| 629 | return true; |
| 630 | } |
| 631 | |
| 632 | TIOService& GetIOService() const noexcept { |
| 633 | return AS_.GetIOService(); |