(src, dst, len)
| 1426 | } |
| 1427 | |
| 1428 | copyout(src, dst, len) { |
| 1429 | this._verify_len(len); |
| 1430 | const main = this.main_sd; |
| 1431 | const worker = this.worker_sd; |
| 1432 | const addr_buf = this.addr_buf; |
| 1433 | const data_buf = this.data_buf; |
| 1434 | |
| 1435 | addr_buf.write64(0, this.pipe_addr); |
| 1436 | ssockopt(main, IPPROTO_IPV6, IPV6_PKTINFO, addr_buf); |
| 1437 | |
| 1438 | data_buf.write32(0, 0x40000000); |
| 1439 | ssockopt(worker, IPPROTO_IPV6, IPV6_PKTINFO, data_buf); |
| 1440 | |
| 1441 | addr_buf.write64(0, this.pipe_addr2); |
| 1442 | ssockopt(main, IPPROTO_IPV6, IPV6_PKTINFO, addr_buf); |
| 1443 | |
| 1444 | addr_buf.write64(0, src); |
| 1445 | ssockopt(worker, IPPROTO_IPV6, IPV6_PKTINFO, addr_buf); |
| 1446 | |
| 1447 | sysi("read", this.rpipe, dst, len); |
| 1448 | } |
| 1449 | |
| 1450 | _read(addr) { |
| 1451 | const buf = this.rw_buf; |
no test coverage detected