summaryrefslogtreecommitdiff
path: root/internal/server/server.go
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-07-12 14:27:58 +0300
committerKyren223 <Kyren223@proton.me>2025-07-19 18:32:12 +0300
commit12f50940b4702ec5888ce110a6e67a00e32d1d05 (patch)
treecf280d1e534256f9f5d1215a2e2db624f0bbb4b8 /internal/server/server.go
parentc52d5693e91f7a8975d6f5f0de06a86d1360ef59 (diff)
Added handling for device analytics, but not the actual implementation
yet
Diffstat (limited to 'internal/server/server.go')
-rw-r--r--internal/server/server.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/internal/server/server.go b/internal/server/server.go
index 0ca3200..fcc904d 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -305,7 +305,12 @@ func (server *server) handleConnection(conn net.Conn) {
// Reader
buffer := make([]byte, 512)
for {
- conn.SetReadDeadline(time.Now().Add(ReadCheckCancelledInterval))
+ err := conn.SetReadDeadline(time.Now().Add(ReadCheckCancelledInterval))
+ if err != nil {
+ slog.ErrorContext(ctx, "failed setting read deadline", "error", err)
+ break
+ }
+
n, err := conn.Read(buffer)
if err != nil {
if errors.Is(err, io.EOF) {
@@ -399,6 +404,9 @@ func processRequest(ctx context.Context, sess *session.Session, request packet.P
case *packet.Authenticate:
response = timeout(5*time.Millisecond, api.Authenticate, ctx, sess, request)
+ case *packet.DeviceAnalytics:
+ response = timeout(5*time.Millisecond, api.DeviceAnalytics, ctx, sess, request)
+
default:
response = &packet.Error{Error: fmt.Sprintf(
"use of disallowed packet type %v", request.Type().String(),