Connect example tweaks #1

Merged
decentral1se merged 2 commits from cblgh/iroh-go:connect-example-tweaks into main 2026-06-23 18:03:43 +00:00
+19 -2
View File
@@ -4,6 +4,7 @@ import (
"bufio"
"flag"
"fmt"
"strings"
"os"
"os/signal"
"syscall"
@@ -63,7 +64,13 @@ func send(e *iroh.Endpoint, id string) {
}
func listen(e *iroh.Endpoint) {
incoming := *e.AcceptNext()
for {
incoming := *e.AcceptNext()
go handleIncoming(incoming)
}
}
func handleIncoming (incoming *iroh.Incoming) {
accepting, err := incoming.Accept()
check(err)
@@ -76,7 +83,17 @@ func listen(e *iroh.Endpoint) {
recv := stream.Recv()
for {
frame, err := recv.Read(frameSize)
check(err)
// handle timeout
if err != nil {
irohErr := err.(*iroh.IrohError)
errMsg := irohErr.Message()
if strings.HasPrefix(errMsg, "ConnectionLost") {
fmt.Println("lost connection")
break
} else {
check(err)
}
}
fmt.Println(string(frame))
}
}