New node ID:s contain four Luhn check digits and are grouped differently. Code uses NodeID type instead of string, so it's formatted homogenously everywhere.
32 lines
568 B
Go
32 lines
568 B
Go
// Copyright (C) 2014 Jakob Borg and other contributors. All rights reserved.
|
|
// Use of this source code is governed by an MIT-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
package discover
|
|
|
|
const (
|
|
AnnouncementMagicV2 = 0x029E4C77
|
|
QueryMagicV2 = 0x23D63A9A
|
|
)
|
|
|
|
type QueryV2 struct {
|
|
Magic uint32
|
|
NodeID []byte // max:32
|
|
}
|
|
|
|
type AnnounceV2 struct {
|
|
Magic uint32
|
|
This Node
|
|
Extra []Node // max:16
|
|
}
|
|
|
|
type Node struct {
|
|
ID []byte // max:32
|
|
Addresses []Address // max:16
|
|
}
|
|
|
|
type Address struct {
|
|
IP []byte // max:16
|
|
Port uint16
|
|
}
|