From 1a8c22e90db6471c278a44e92fcc06420ebff2a6 Mon Sep 17 00:00:00 2001 From: Simon Whitehead Date: Wed, 5 Nov 2014 11:30:06 +1100 Subject: [PATCH] Added const for default packet size --- fastping.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fastping.go b/fastping.go index 48a42d7..5ead15f 100644 --- a/fastping.go +++ b/fastping.go @@ -47,7 +47,12 @@ import ( "time" ) +const TimeSliceLengh = 8 + func byteSliceOfSize(n int) []byte { + if n == 0 { + n = TimeSliceLengh // if its 0 .. default it to 8 + } b := make([]byte, n) for i := 0; i < len(b); i++ { b[i] = 1 @@ -134,7 +139,7 @@ func NewPinger() *Pinger { addrs: make(map[string]*net.IPAddr), hasIPv4: false, hasIPv6: false, - Size: 64, + Size: TimeSliceLengh, MaxRTT: time.Second, OnRecv: nil, OnIdle: nil, @@ -409,7 +414,7 @@ func (p *Pinger) sendICMP(conn, conn6 *net.IPConn) (map[string]*net.IPAddr, erro Type: typ, Code: 0, Body: &icmpEcho{ ID: p.id, Seq: p.seq, - Data: append(t, byteSliceOfSize(p.Size-len(t))...), + Data: append(t, byteSliceOfSize(p.Size-TimeSliceLengh)...), }, }).Marshal() p.mu.Unlock() @@ -515,7 +520,7 @@ func (p *Pinger) procRecv(recv *packet, queue map[string]*net.IPAddr) { case *icmpEcho: p.mu.Lock() 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() default: