fix userdevice

This commit is contained in:
JackDoan
2026-05-14 11:48:15 -05:00
parent daef13e53a
commit cef69465db

View File

@@ -1,7 +1,6 @@
package overlay package overlay
import ( import (
"errors"
"io" "io"
"log/slog" "log/slog"
"net/netip" "net/netip"
@@ -26,6 +25,7 @@ func NewUserDevice(vpnNetworks []netip.Prefix) (Device, error) {
outboundWriter: ow, outboundWriter: ow,
inboundReader: ir, inboundReader: ir,
inboundWriter: iw, inboundWriter: iw,
numReaders: 1,
}, nil }, nil
} }
@@ -68,15 +68,20 @@ func (d *UserDevice) RoutesFor(ip netip.Addr) routing.Gateways {
} }
func (d *UserDevice) SupportsMultiqueue() bool { func (d *UserDevice) SupportsMultiqueue() bool {
return false return true
} }
func (d *UserDevice) NewMultiQueueReader() error { func (d *UserDevice) NewMultiQueueReader() error {
return errors.New("not implemented") d.numReaders++
return nil
} }
func (d *UserDevice) Readers() []tio.Queue { func (d *UserDevice) Readers() []tio.Queue {
return []tio.Queue{d} out := make([]tio.Queue, d.numReaders)
for i := range d.numReaders {
out[i] = d
}
return out
} }
func (d *UserDevice) Pipe() (*io.PipeReader, *io.PipeWriter) { func (d *UserDevice) Pipe() (*io.PipeReader, *io.PipeWriter) {