8 "github.com/flynn/noise"
11 const NoisePrologue = "VoRS v2"
13 var NoiseCipherSuite = noise.NewCipherSuite(
15 noise.CipherChaChaPoly,
19 func PktRead(conn net.Conn) (buf []byte, err error) {
21 _, err = io.ReadFull(conn, buf[:2])
25 buf = make([]byte, int(buf[0])<<8|int(buf[1]))
26 _, err = io.ReadFull(conn, buf)
30 func PktWrite(conn net.Conn, buf []byte) (err error) {
31 _, err = io.Copy(conn, bytes.NewReader(append([]byte{
32 byte((len(buf) & 0xFF00) >> 8),
33 byte((len(buf) & 0x00FF) >> 0),