新TAP测试(TODO 解析arp)

This commit is contained in:
黄思敏 2022-09-01 15:09:27 +08:00
parent f23608f496
commit 5ef9e2c42d

View File

@ -58,7 +58,11 @@ func (cli *RPCClient) CheckConnect() {
return
}
cli.conn = conn
cli.Lock(func() bool {
cli.conn = conn
return true
})
go cli.run()
}
@ -99,16 +103,22 @@ func (cli *RPCClient) run() {
buf := bytes.NewBuffer(nil)
for {
select {
case <-cli.trigger:
case <-ticker.C:
}
cli.Lock(func() bool {
if !cli.Lock(func() bool {
if len(cli.Frames) == 0 {
return false
}
Compress(buf, cli.Frames)
cli.Frames = cli.Frames[:0]
return true
})
}) {
continue
}
// 发到对面的网卡
err = stream.Send(&gen.RequestFrames{
@ -117,7 +127,6 @@ func (cli *RPCClient) run() {
if err != nil {
log.Panic(err)
}
buf.Reset()
}
}