@ -2400,6 +2400,7 @@ func (c *Conn) SetNetworkMap(nm *netmap.NetworkMap) {
ep := & endpoint {
c : c ,
publicKey : n . Key ,
publicKeyHex : n . Key . UntypedHexString ( ) ,
sentPing : map [ stun . TxID ] sentPing { } ,
endpointState : map [ netip . AddrPort ] * endpointState { } ,
heartbeatDisabled : heartbeatDisabled ,
@ -3312,9 +3313,10 @@ type endpoint struct {
numStopAndResetAtomic int64
// These fields are initialized once and never modified.
c * Conn
publicKey key . NodePublic // peer public key (for WireGuard + DERP)
fakeWGAddr netip . AddrPort // the UDP address we tell wireguard-go we're using
c * Conn
publicKey key . NodePublic // peer public key (for WireGuard + DERP)
publicKeyHex string // cached output of publicKey.UntypedHexString
fakeWGAddr netip . AddrPort // the UDP address we tell wireguard-go we're using
// mu protects all following fields.
mu sync . Mutex // Lock ordering: Conn.mu, then endpoint.mu
@ -3496,7 +3498,7 @@ func (de *endpoint) String() string {
func ( de * endpoint ) ClearSrc ( ) { }
func ( de * endpoint ) SrcToString ( ) string { panic ( "unused" ) } // unused by wireguard-go
func ( de * endpoint ) SrcIP ( ) netip . Addr { panic ( "unused" ) } // unused by wireguard-go
func ( de * endpoint ) DstToString ( ) string { return de . publicKey . Untyped HexString( ) }
func ( de * endpoint ) DstToString ( ) string { return de . publicKey Hex }
func ( de * endpoint ) DstIP ( ) netip . Addr { panic ( "unused" ) }
func ( de * endpoint ) DstToBytes ( ) [ ] byte { return packIPPort ( de . fakeWGAddr ) }