mirror of
https://github.com/taigrr/go-fastping
synced 2025-01-18 05:03:15 -08:00
Added const for default packet size
This commit is contained in:
parent
c6c53385e0
commit
1a8c22e90d
11
fastping.go
11
fastping.go
@ -47,7 +47,12 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const TimeSliceLengh = 8
|
||||||
|
|
||||||
func byteSliceOfSize(n int) []byte {
|
func byteSliceOfSize(n int) []byte {
|
||||||
|
if n == 0 {
|
||||||
|
n = TimeSliceLengh // if its 0 .. default it to 8
|
||||||
|
}
|
||||||
b := make([]byte, n)
|
b := make([]byte, n)
|
||||||
for i := 0; i < len(b); i++ {
|
for i := 0; i < len(b); i++ {
|
||||||
b[i] = 1
|
b[i] = 1
|
||||||
@ -134,7 +139,7 @@ func NewPinger() *Pinger {
|
|||||||
addrs: make(map[string]*net.IPAddr),
|
addrs: make(map[string]*net.IPAddr),
|
||||||
hasIPv4: false,
|
hasIPv4: false,
|
||||||
hasIPv6: false,
|
hasIPv6: false,
|
||||||
Size: 64,
|
Size: TimeSliceLengh,
|
||||||
MaxRTT: time.Second,
|
MaxRTT: time.Second,
|
||||||
OnRecv: nil,
|
OnRecv: nil,
|
||||||
OnIdle: nil,
|
OnIdle: nil,
|
||||||
@ -409,7 +414,7 @@ func (p *Pinger) sendICMP(conn, conn6 *net.IPConn) (map[string]*net.IPAddr, erro
|
|||||||
Type: typ, Code: 0,
|
Type: typ, Code: 0,
|
||||||
Body: &icmpEcho{
|
Body: &icmpEcho{
|
||||||
ID: p.id, Seq: p.seq,
|
ID: p.id, Seq: p.seq,
|
||||||
Data: append(t, byteSliceOfSize(p.Size-len(t))...),
|
Data: append(t, byteSliceOfSize(p.Size-TimeSliceLengh)...),
|
||||||
},
|
},
|
||||||
}).Marshal()
|
}).Marshal()
|
||||||
p.mu.Unlock()
|
p.mu.Unlock()
|
||||||
@ -515,7 +520,7 @@ func (p *Pinger) procRecv(recv *packet, queue map[string]*net.IPAddr) {
|
|||||||
case *icmpEcho:
|
case *icmpEcho:
|
||||||
p.mu.Lock()
|
p.mu.Lock()
|
||||||
if pkt.ID == p.id && pkt.Seq == p.seq {
|
if pkt.ID == p.id && pkt.Seq == p.seq {
|
||||||
rtt = time.Since(bytesToTime(pkt.Data[:8]))
|
rtt = time.Since(bytesToTime(pkt.Data[:TimeSliceLengh]))
|
||||||
}
|
}
|
||||||
p.mu.Unlock()
|
p.mu.Unlock()
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user