(src, dst, len)
| 1416 | } |
| 1417 | |
| 1418 | copyout(src, dst, len) { |
| 1419 | this._verify_len(len); |
| 1420 | const main = this.main_sd; |
| 1421 | const worker = this.worker_sd; |
| 1422 | const addr_buf = this.addr_buf; |
| 1423 | const data_buf = this.data_buf; |
| 1424 | |
| 1425 | addr_buf.write64(0, this.pipe_addr); |
| 1426 | ssockopt(main, IPPROTO_IPV6, IPV6_PKTINFO, addr_buf); |
| 1427 | |
| 1428 | data_buf.write32(0, 0x40000000); |
| 1429 | ssockopt(worker, IPPROTO_IPV6, IPV6_PKTINFO, data_buf); |
| 1430 | |
| 1431 | addr_buf.write64(0, this.pipe_addr2); |
| 1432 | ssockopt(main, IPPROTO_IPV6, IPV6_PKTINFO, addr_buf); |
| 1433 | |
| 1434 | addr_buf.write64(0, src); |
| 1435 | ssockopt(worker, IPPROTO_IPV6, IPV6_PKTINFO, addr_buf); |
| 1436 | |
| 1437 | sysi('read', this.rpipe, dst, len); |
| 1438 | } |
| 1439 | |
| 1440 | _read(addr) { |
| 1441 | const buf = this.rw_buf; |
no test coverage detected