From 9f22296ea23e88cb49642d45f68dcd77240bc1fdc4b46f623428a968a7f123f3 Mon Sep 17 00:00:00 2001
From: Sergey Matveev <stargrave@stargrave.org>
Date: Tue, 16 Apr 2024 01:00:07 +0300
Subject: [PATCH] One possible round-trip less

---
 cmd/client/main.go | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/cmd/client/main.go b/cmd/client/main.go
index 7ff841c..fadaf51 100644
--- a/cmd/client/main.go
+++ b/cmd/client/main.go
@@ -162,10 +162,6 @@ func main() {
 	if err = ctrl.SetNoDelay(true); err != nil {
 		log.Fatalln("nodelay:", err)
 	}
-	if _, err = io.Copy(ctrl, strings.NewReader(vors.NoisePrologue)); err != nil {
-		log.Fatalln("handshake: write prologue", err)
-		return
-	}
 
 	hs, err := noise.NewHandshakeState(noise.Config{
 		CipherSuite: vors.NoiseCipherSuite,
@@ -181,7 +177,16 @@ func main() {
 	if err != nil {
 		log.Fatalln("handshake encrypt:", err)
 	}
-	if err = vors.PktWrite(ctrl, buf); err != nil {
+	buf = append(
+		append(
+			[]byte(vors.NoisePrologue),
+			byte((len(buf) & 0xFF00) >> 8),
+			byte((len(buf) & 0x00FF) >> 0),
+		),
+		buf...
+	)
+	_, err = io.Copy(ctrl, bytes.NewReader(buf))
+	if err != nil {
 		log.Fatalln("write handshake:", err)
 		return
 	}
-- 
2.51.0