Documentation
¶
Index ¶
- func AddrFromSlice(b []byte) (netip.Addr, bool)
- func IsPublic(addr netip.Addr) bool
- func Lookup(hostname string) (netip.Addr, error)
- func PackIP(p *wrappers.Packer, ip IPPort)
- func ParseAddr(s string) (netip.Addr, error)
- func ParseAddrPort(s string) (netip.AddrPort, error)
- type ClaimedIPPort
- type DynamicIPPort
- type IPDesc
- type IPPort
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddrFromSlice ¶
AddrFromSlice returns the IP address from the provided byte slice. If the byte slice represents an IPv4 address in an IPv6 address, the IPv4 address is returned.
func Lookup ¶
Lookup attempts to resolve a hostname to a single IP. If multiple IPs are found, then lookup will attempt to return an IPv4 address, otherwise it will pick any of the IPs.
Note: IPv4 is preferred because `net.Listen` prefers IPv4.
Types ¶
type ClaimedIPPort ¶
type ClaimedIPPort struct {
// The peer's certificate.
Cert *staking.Certificate
// The peer's claimed IP and port.
AddrPort netip.AddrPort
// The time the peer claimed to own this IP and port.
Timestamp uint64
// [Cert]'s signature over the IPPort and timestamp.
// This is used in the networking library to ensure that this IPPort was
// actually claimed by the peer in question, and not by a malicious peer
// trying to get us to dial bogus IPPorts.
Signature []byte
// NodeID derived from the peer certificate.
NodeID ids.NodeID
// GossipID derived from the nodeID and timestamp.
GossipID ids.ID
}
A self contained proof that a peer is claiming ownership of an IPPort at a given time.
func NewClaimedIPPort ¶
func NewClaimedIPPort( cert *staking.Certificate, ipPort netip.AddrPort, timestamp uint64, signature []byte, ) *ClaimedIPPort
func (*ClaimedIPPort) Size ¶
func (i *ClaimedIPPort) Size() int
Returns the approximate size of the binary representation of this ClaimedIPPort.
type DynamicIPPort ¶
type DynamicIPPort interface {
// Returns the IP + port pair.
IPPort() IPPort
// Changes the IP.
SetIP(ip net.IP)
}
An IPPort that can change. Safe for use by multiple goroutines.
func NewDynamicIPPort ¶
func NewDynamicIPPort(ip net.IP, port uint16) DynamicIPPort
Click to show internal directories.
Click to hide internal directories.