diff --git a/syndicate/drivers/stream.rkt b/syndicate/drivers/stream.rkt index 2a4cf92..4a6df55 100644 --- a/syndicate/drivers/stream.rkt +++ b/syndicate/drivers/stream.rkt @@ -309,11 +309,11 @@ (when initial-credit (send-credit (peer-source) initial-credit initial-mode)) (on-connect (peer-source) (peer-sink))] [(_ 'disconnected) - (on-disconnect)] + ((or on-disconnect (lambda () (stop-current-facet))))] [('pending (list 'error m)) - (on-rejected m)] + ((or on-rejected (lambda (m) (stop-current-facet))) m)] [(_ (list 'error m)) - (on-error m)]))) + ((or on-error (lambda (m) (stop-current-facet))) m)]))) (define-field peer-source #f) (define-field peer-sink #f) @@ -332,7 +332,8 @@ #:on-error (lambda (m) (transition (list 'error m))) #:on-data on-data #:on-eof on-eof)) - (at ds (assert (StreamConnection source sink spec)))) + (at ds (assert (StreamConnection source sink spec))) + (list source sink)) ;;---------------------------------------------------------------------------