Messaging service, adapters, refactoring

This commit is contained in:
2023-12-07 09:00:30 +03:00
parent cf00cfaab6
commit 08a7c9c04f
18 changed files with 623 additions and 53 deletions

26
pkg/discovery/packet.go Normal file
View File

@@ -0,0 +1,26 @@
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)
}