新TAP测试(TODO 解析arp)
This commit is contained in:
parent
3c5bad2f67
commit
f23608f496
|
@ -63,12 +63,13 @@ func (cli *RPCClient) CheckConnect() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cli *RPCClient) Push(frame []byte) {
|
func (cli *RPCClient) Push(frame []byte) {
|
||||||
cli.lock.Lock()
|
cli.Lock(func() bool {
|
||||||
defer cli.lock.Unlock()
|
cli.Frames = append(cli.Frames, frame)
|
||||||
cli.Frames = append(cli.Frames, frame)
|
if len(cli.Frames) >= 1000 {
|
||||||
if len(cli.Frames) >= 1000 {
|
cli.trigger <- true
|
||||||
cli.trigger <- true
|
}
|
||||||
}
|
return true
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cli *RPCClient) run() {
|
func (cli *RPCClient) run() {
|
||||||
|
@ -97,13 +98,12 @@ func (cli *RPCClient) run() {
|
||||||
var ticker = time.NewTicker(time.Millisecond * 20)
|
var ticker = time.NewTicker(time.Millisecond * 20)
|
||||||
|
|
||||||
buf := bytes.NewBuffer(nil)
|
buf := bytes.NewBuffer(nil)
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-cli.trigger:
|
case <-cli.trigger:
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
}
|
}
|
||||||
buf.Reset()
|
|
||||||
cli.Lock(func() bool {
|
cli.Lock(func() bool {
|
||||||
Compress(buf, cli.Frames)
|
Compress(buf, cli.Frames)
|
||||||
cli.Frames = cli.Frames[:0]
|
cli.Frames = cli.Frames[:0]
|
||||||
|
@ -114,10 +114,10 @@ func (cli *RPCClient) run() {
|
||||||
err = stream.Send(&gen.RequestFrames{
|
err = stream.Send(&gen.RequestFrames{
|
||||||
Frames: buf.Bytes(),
|
Frames: buf.Bytes(),
|
||||||
})
|
})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buf.Reset()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user