| 588 | } |
| 589 | |
| 590 | WasiExpect<void> INode::fdWrite(Span<Span<const uint8_t>> IOVs, |
| 591 | __wasi_size_t &NWritten) const noexcept { |
| 592 | iovec SysIOVs[kIOVMax]; |
| 593 | size_t SysIOVsSize = 0; |
| 594 | for (auto &IOV : IOVs) { |
| 595 | SysIOVs[SysIOVsSize].iov_base = const_cast<uint8_t *>(IOV.data()); |
| 596 | SysIOVs[SysIOVsSize].iov_len = IOV.size(); |
| 597 | ++SysIOVsSize; |
| 598 | } |
| 599 | |
| 600 | if (auto Res = ::writev(Fd, SysIOVs, SysIOVsSize); unlikely(Res < 0)) { |
| 601 | return WasiUnexpect(fromErrNo(errno)); |
| 602 | } else { |
| 603 | NWritten = EndianValue(static_cast<__wasi_size_t>(Res)).le(); |
| 604 | } |
| 605 | |
| 606 | return {}; |
| 607 | } |
| 608 | |
| 609 | WasiExpect<uint64_t> INode::getNativeHandler() const noexcept { |
| 610 | return static_cast<uint64_t>(Fd); |
nothing calls this directly
no test coverage detected