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.