10 "github.com/flynn/noise"
11 vors "go.stargrave.org/vors/v3/internal"
15 Peers = map[byte]*Peer{}
40 rxCS, txCS *noise.CipherState
45 func (peer *Peer) Close() {
46 peer.aliveOnce.Do(func() {
54 func (peer *Peer) Rx() {
56 buf, err := vors.PktRead(peer.conn)
58 peer.logger.Error("rx", "err", err)
61 buf, err = peer.rxCS.Decrypt(buf[:0], nil, buf)
63 peer.logger.Error("rx decrypt", "err", err)
71 func (peer *Peer) Tx() {
72 for buf := range peer.tx {
76 buf, err := peer.txCS.Encrypt(buf[:0], nil, buf)
78 peer.logger.Error("tx encrypt", "err", err)
81 err = vors.PktWrite(peer.conn, buf)
83 peer.logger.Error("tx", "err", err)