From 3030d1959e4b9bee9b8b6cbb7b8bab2d11f37d7c Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 10 Jun 2020 13:38:26 +0200 Subject: [PATCH] Use flow control to avoid being spammed by fast talkers --- syndicate/distributed/server/tcp.rkt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syndicate/distributed/server/tcp.rkt b/syndicate/distributed/server/tcp.rkt index 56fad3d..6adfca4 100644 --- a/syndicate/distributed/server/tcp.rkt +++ b/syndicate/distributed/server/tcp.rkt @@ -14,9 +14,10 @@ (assert (tcp-accepted id)) (assert (server-poa id)) (stop-when (retracted (server-poa-ready id))) - (on-start (issue-unbounded-credit! tcp-in id)) + (on-start (issue-credit! #:amount 32768 tcp-in id)) (define accumulate! (packet-accumulator (lambda (p) (send! (message-poa->server id p))))) (on (message (tcp-in id $bs)) + (issue-credit! #:amount (bytes-length bs) tcp-in id) (accumulate! bs)) (on (message (message-server->poa id $p)) (send! (tcp-out id (encode p)))