diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-05-23 10:30:24 +0300 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-05-23 10:30:24 +0300 |
| commit | 8aa5cbb72e6ad289582ac8fe687a7bfcc5e49beb (patch) | |
| tree | 12db8f645c22edbf2019208b549076da24f2cf55 /internal/server | |
| parent | d6a2eda646af6f3f1607b0d488c1354fa09c638d (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.go | 7 |
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() } |
