package node import ( "net/netip" "sync/atomic" ) type peer struct { IP byte // TODO: Version Addr *netip.AddrPort // TODO: ViaIP // TODO: EncPubKey // TODO: SignPrivKey } type peerRepo [256]*atomic.Pointer[peer] func newPeerRepo() peerRepo { pr := peerRepo{} for i := range pr { pr[i] = &atomic.Pointer[peer]{} } return pr } func (pr peerRepo) Get(ip byte) *peer { return pr[ip].Load() } func (pr peerRepo) Set(ip byte, p *peer) { pr[ip].Store(p) }