shortened go sample

This commit is contained in:
Jake Hillion 2020-12-28 11:46:40 +00:00
parent 3cc3e7ca53
commit 36e0b008c2

View File

@ -8,33 +8,25 @@ import (
"syscall" "syscall"
) )
var PacketOverhead = 0
type Packet struct { type Packet struct {
Data []byte Data []byte
} }
func main() { func main() {
tun, err := taptun.NewTun("nc%d") tun, err := taptun.NewTun("nc%d")
if err != nil { if err != nil { panic(err) }
panic(err)
}
inboundPackets := make(chan Packet, 128) inboundPackets := make(chan Packet, 128)
go func() { go func() {
bufferSize := 1500 - PacketOverhead bufferSize := 1500
buffer := make([]byte, bufferSize) buffer := make([]byte, bufferSize)
for { for {
read, err := tun.Read(buffer) read, err := tun.Read(buffer)
if err != nil { if err != nil { panic(err) }
panic(err)
}
if read == 0 { if read == 0 { panic("0 bytes read!") }
panic("0 bytes read!")
}
p := Packet{} p := Packet{}
p.Data = make([]byte, read) p.Data = make([]byte, read)
@ -53,9 +45,4 @@ func main() {
} }
}() }()
} }
signals := make(chan os.Signal)
signal.Notify(signals, syscall.SIGTERM, syscall.SIGINT)
<-signals
} }