Documentation ¶
Overview ¶
Package ipnstate captures the entire state of the Tailscale network.
It's a leaf package so ipn, wgengine, and magicsock can all depend on it.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PeerStatus ¶
type PeerStatus struct { PublicKey key.Public HostName string // HostInfo's Hostname (not a DNS name or necessarily unique) OS string // HostInfo.OS UserID tailcfg.UserID TailAddr string // Tailscale IP // Endpoints: Addrs []string CurAddr string // one of Addrs, or unique if roaming Relay string // DERP region RxBytes int64 TxBytes int64 Created time.Time // time registered with tailcontrol LastWrite time.Time // time last packet sent LastSeen time.Time // last seen to tailcontrol LastHandshake time.Time // with local wireguard KeepAlive bool // InNetworkMap means that this peer was seen in our latest network map. // In theory, all of InNetworkMap and InMagicSock and InEngine should all be true. InNetworkMap bool // InMagicSock means that this peer is being tracked by magicsock. // In theory, all of InNetworkMap and InMagicSock and InEngine should all be true. InMagicSock bool // InEngine means that this peer is tracked by the wireguard engine. // In theory, all of InNetworkMap and InMagicSock and InEngine should all be true. InEngine bool }
func (*PeerStatus) SimpleHostName ¶
func (ps *PeerStatus) SimpleHostName() string
SimpleHostName returns a potentially simplified version of ps.HostName for display purposes.
type Status ¶
type Status struct { BackendState string TailscaleIPs []netaddr.IP // Tailscale IP(s) assigned to this node Peer map[key.Public]*PeerStatus User map[tailcfg.UserID]tailcfg.UserProfile }
Status represents the entire state of the IPN network.
type StatusBuilder ¶
type StatusBuilder struct {
// contains filtered or unexported fields
}
func (*StatusBuilder) AddPeer ¶
func (sb *StatusBuilder) AddPeer(peer key.Public, st *PeerStatus)
AddPeer adds a peer node to the status.
Its PeerStatus is mixed with any previous status already added.
func (*StatusBuilder) AddTailscaleIP ¶ added in v1.0.0
func (sb *StatusBuilder) AddTailscaleIP(ip netaddr.IP)
AddIP adds a Tailscale IP address to the status.
func (*StatusBuilder) AddUser ¶
func (sb *StatusBuilder) AddUser(id tailcfg.UserID, up tailcfg.UserProfile)
AddUser adds a user profile to the status.
func (*StatusBuilder) Status ¶
func (sb *StatusBuilder) Status() *Status
type StatusUpdater ¶
type StatusUpdater interface {
UpdateStatus(*StatusBuilder)
}
Click to show internal directories.
Click to hide internal directories.