This repository has been archived on 2024-02-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
astontest/pkg/discovery/packet.go

27 lines
441 B
Go

package discovery
import (
"bytes"
"net"
)
var magicBytes = []byte{0x01, 0x02, 0x01}
func NewPacket() Packet {
return make(Packet, 7) // 7 = 3 bytes of magic + 4 bytes for ipv4 address
}
func NewPacketWithIP(ip net.IP) Packet {
return append(magicBytes, []byte(ip.To4())...)
}
type Packet []byte
func (p Packet) IP(n int) net.IP {
return net.IP(p[3:n])
}
func (p Packet) MagicOk() bool {
return bytes.Equal(p[:3], magicBytes)
}