(buf [][]byte, sizes []int, offset int)
| 121 | } |
| 122 | |
| 123 | func (tun *netTun) Read(buf [][]byte, sizes []int, offset int) (int, error) { |
| 124 | view, ok := <-tun.incomingPacket |
| 125 | if !ok { |
| 126 | return 0, os.ErrClosed |
| 127 | } |
| 128 | |
| 129 | n, err := view.Read(buf[0][offset:]) |
| 130 | if err != nil { |
| 131 | return 0, err |
| 132 | } |
| 133 | sizes[0] = n |
| 134 | return 1, nil |
| 135 | } |
| 136 | |
| 137 | func (tun *netTun) Write(buf [][]byte, offset int) (int, error) { |
| 138 | for _, buf := range buf { |