9 "github.com/flynn/noise"
10 vors "go.stargrave.org/vors/internal"
14 Peers = map[byte]*Peer{}
38 rxCS, txCS *noise.CipherState
43 func (peer *Peer) Close() {
44 peer.aliveOnce.Do(func() {
52 func (peer *Peer) Rx() {
54 buf, err := vors.PktRead(peer.conn)
56 peer.logger.Error("rx", "err", err)
59 buf, err = peer.rxCS.Decrypt(buf[:0], nil, buf)
61 peer.logger.Error("rx decrypt", "err", err)
69 func (peer *Peer) Tx() {
70 for buf := range peer.tx {
74 buf, err := peer.txCS.Encrypt(buf[:0], nil, buf)
76 peer.logger.Error("tx encrypt", "err", err)
79 err = vors.PktWrite(peer.conn, buf)
81 peer.logger.Error("tx", "err", err)