diff --git a/syndicate/drivers/tcp.rkt b/syndicate/drivers/tcp.rkt index 873cb75..b5fd394 100644 --- a/syndicate/drivers/tcp.rkt +++ b/syndicate/drivers/tcp.rkt @@ -11,6 +11,7 @@ read-bytes-avail) (require racket/tcp) +(require (only-in racket/exn exn->string)) (require syndicate/driver-support) (require syndicate/schemas/gen/tcp) (require syndicate/schemas/gen/dataspace-patterns) @@ -52,7 +53,7 @@ (define connection-custodian (make-custodian)) ((with-handlers ([exn:fail:network? (lambda (e) - (lambda () (at local-peer (assert (ActiveSocket-close e)))))]) + (lambda () (at local-peer (assert (ActiveSocket-close (exn->string e))))))]) (define-values (i o) (parameterize ((current-custodian connection-custodian)) (tcp-connect host port))) (lambda () @@ -81,18 +82,18 @@ (lambda (m handle) (match (parse-ActiveSocket m) [(ActiveSocket-controller controller) - (log-syndicate/drivers/tcp-info "~v controller for ~v" controller this-actor) + (log-syndicate/drivers/tcp-debug "~v controller for ~v" controller this-actor) (when (not active-controller) (start-inbound-relay custodian name controller i)) (set! active-controller controller) (set! active-controller-handle handle)] - [(ActiveSocket-close reason) - (log-syndicate/drivers/tcp-info "closing ~v reason ~v" this-actor reason) + [(ActiveSocket-close message) + (log-syndicate/drivers/tcp-debug "closing ~v:\n~a" this-actor message) (stop-current-facet)])) #:retract (lambda (handle) - (log-syndicate/drivers/tcp-info "peer withdrawn ~v" this-actor) (when (equal? handle active-controller-handle) + (log-syndicate/drivers/tcp-debug "peer withdrawn ~v" this-actor) (stop-current-facet))) #:message (outbound-relay name o))) @@ -106,7 +107,7 @@ (let loop () (define bs (read-bytes-avail i)) (when (bytes? bs) - (log-syndicate/drivers/tcp-info "inbound data ~v for ~v" bs name) + (log-syndicate/drivers/tcp-debug "inbound data ~v for ~v" bs name) (turn! facet (lambda () (send-data target bs))) (loop)))))) @@ -115,7 +116,7 @@ (lambda (m) (match (parse-ActiveSocket m) [(ActiveSocket-Socket (Socket payload)) - (log-syndicate/drivers/tcp-info "outbound data ~v for ~v" payload name) + (log-syndicate/drivers/tcp-debug "outbound data ~v for ~v" payload name) (write-bytes payload o) (when (not flush-pending) (set! flush-pending #t) @@ -149,7 +150,7 @@ #:assert (lambda (m _handle) (match (parse-ActiveSocket m) [(ActiveSocket-controller peer) (on-connected peer)] - [(ActiveSocket-close e) (on-rejected e)])) + [(ActiveSocket-close message) (on-rejected message)])) #:retract (lambda (_handle) (on-disconnected)) #:message (lambda (m) (match (parse-ActiveSocket m) diff --git a/syndicate/schemas/tcp.prs b/syndicate/schemas/tcp.prs index 952c4f3..d41eaed 100644 --- a/syndicate/schemas/tcp.prs +++ b/syndicate/schemas/tcp.prs @@ -9,7 +9,7 @@ TcpInbound = . ActiveSocket = / - / + / / Socket .