better and batched tun interface

This commit is contained in:
JackDoan
2026-04-17 10:25:05 -05:00
parent 72bf111209
commit e7b121c82f
34 changed files with 1180 additions and 474 deletions
+10 -1
View File
@@ -171,8 +171,16 @@ func (u *TesterConn) WriteTo(b []byte, addr netip.AddrPort) error {
return nil
}
}
func (u *TesterConn) WriteBatch(bufs [][]byte, addrs []netip.AddrPort) error {
for i, b := range bufs {
if err := u.WriteTo(b, addrs[i]); err != nil {
return err
}
}
return nil
}
func (u *TesterConn) ListenOut(r EncReader) error {
func (u *TesterConn) ListenOut(r EncReader, flush func()) error {
for {
select {
case <-u.done:
@@ -180,6 +188,7 @@ func (u *TesterConn) ListenOut(r EncReader) error {
case p := <-u.RxPackets:
r(p.From, p.Data)
p.Release()
flush()
}
}
}