From 419e90e42f3d3ce7161355ef4a2142ff92ea2729 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 11 Sep 2019 16:07:54 +0100 Subject: [PATCH] server-session-connected avoids assert-lock of server-connected --- syndicate/distributed/client.rkt | 1 + syndicate/distributed/client/tcp.rkt | 2 +- syndicate/distributed/internal-protocol.rkt | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/syndicate/distributed/client.rkt b/syndicate/distributed/client.rkt index 9486f0c..98ab097 100644 --- a/syndicate/distributed/client.rkt +++ b/syndicate/distributed/client.rkt @@ -23,6 +23,7 @@ (on-start (log-syndicate/distributed-info "Connected to ~v" address)) (on-stop (log-syndicate/distributed-info "Disconnected from ~v" address)) (assert (server-connected address)) + (assert (server-session-connected address)) (when (log-level? syndicate/distributed-logger 'debug) (set! w (let ((w* w)) diff --git a/syndicate/distributed/client/tcp.rkt b/syndicate/distributed/client/tcp.rkt index 083e745..9213666 100644 --- a/syndicate/distributed/client/tcp.rkt +++ b/syndicate/distributed/client/tcp.rkt @@ -17,7 +17,7 @@ (retracted (tcp-accepted id)) (asserted (tcp-rejected id _)) (retracted (server-transport-connected address)) - (retracted (server-connected address))) + (retracted (server-session-connected address))) (during (tcp-accepted id) (on-start (issue-unbounded-credit! tcp-in id)) diff --git a/syndicate/distributed/internal-protocol.rkt b/syndicate/distributed/internal-protocol.rkt index f1b299d..59865da 100644 --- a/syndicate/distributed/internal-protocol.rkt +++ b/syndicate/distributed/internal-protocol.rkt @@ -11,6 +11,11 @@ ;; `server-packet` messages. Implementation-facing, where ;; `server-connected` is part of the API. (assertion-struct server-transport-connected (address)) +;; Like `server-connected`, but for reflecting the state of the +;; session to the transport driver. Observation of +;; `server-session-connected` is not creative (of `server-connected`), +;; unlike observation of `server-connected`. +(assertion-struct server-session-connected (address)) ;; Internal connection protocol (assertion-struct server-poa (connection-id)) ;; "Point of Attachment"