shortened go sample
This commit is contained in:
parent
3cc3e7ca53
commit
36e0b008c2
21
go/main.go
21
go/main.go
@ -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
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user