summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-05-23 10:30:24 +0300
committerKyren223 <Kyren223@proton.me>2025-05-23 10:30:24 +0300
commit8aa5cbb72e6ad289582ac8fe687a7bfcc5e49beb (patch)
tree12db8f645c22edbf2019208b549076da24f2cf55 /internal/server
parentd6a2eda646af6f3f1607b0d488c1354fa09c638d (diff)
Fixed packet loss bug due to client not waiting before exiting for the
writes to fully proccess
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/server.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/internal/server/server.go b/internal/server/server.go
index 64f45f8..389b6b7 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -216,6 +216,11 @@ func (server *server) handleConnection(conn net.Conn) {
}
log.Println(addr, "sending packet:", packet)
if _, err := packet.Into(conn); err != nil {
+ // TODO: probably should add this to prevent the
+ // "use of closed connection" error, as it's intended to happen
+ // if !errors.Is(err, net.ErrClosed) {
+ // log.Println(addr, err)
+ // }
log.Println(addr, err)
return
}
@@ -384,6 +389,8 @@ func processRequest(ctx context.Context, sess *session.Session, request packet.P
response = &packet.Error{Error: "use of disallowed packet type for request"}
}
+ // TODO: Isn't this weird? shouldn't it always be packet.ErrorPacket type?
+ // rather than copying the pkt type of the request?
if response, ok := response.(*packet.Error); ok {
response.PktType = request.Type()
}