diff --git a/prospect-monolithic/mux.rkt b/prospect-monolithic/mux.rkt index 5021888..727db45 100644 --- a/prospect-monolithic/mux.rkt +++ b/prospect-monolithic/mux.rkt @@ -95,7 +95,7 @@ (define (compute-affected-pids routing-table cover) (trie-match-trie cover (trie-step routing-table struct:observe) - #:seed (datum-tset) + #:seed datum-tset-empty #:combiner (lambda (v1 v2 acc) (tset-union v2 acc)) #:left-short (lambda (v r acc) (tset-union acc (success-value (trie-step r EOS)))))) @@ -103,7 +103,7 @@ (define (mux-route-message m body) (if (trie-lookup (mux-routing-table m) body #f) ;; some other stream has declared body '() - (tset->list (trie-lookup (mux-routing-table m) (observe body) (datum-tset))))) + (tset->list (trie-lookup (mux-routing-table m) (observe body) datum-tset-empty)))) (define (mux-interests-of m label) (hash-ref (mux-interest-table m) label (trie-empty))) diff --git a/prospect/mux.rkt b/prospect/mux.rkt index 499417d..fe1ed65 100644 --- a/prospect/mux.rkt +++ b/prospect/mux.rkt @@ -112,7 +112,7 @@ (define cover (trie-union (patch-added delta) (patch-removed delta))) (trie-match-trie cover (trie-step routing-table struct:observe) - #:seed (datum-tset) + #:seed datum-tset-empty #:combiner (lambda (v1 v2 acc) (tset-union v2 acc)) #:left-short (lambda (v r acc) (tset-union acc (success-value (trie-step r EOS)))))) @@ -120,7 +120,7 @@ (define (mux-route-message m body) (if (trie-lookup (mux-routing-table m) body #f) ;; some other stream has declared body '() - (tset->list (trie-lookup (mux-routing-table m) (observe body) (datum-tset))))) + (tset->list (trie-lookup (mux-routing-table m) (observe body) datum-tset-empty)))) (define (mux-interests-of m label) (hash-ref (mux-interest-table m) label (trie-empty))) diff --git a/prospect/tset.rkt b/prospect/tset.rkt index 735f0e1..a6e7361 100644 --- a/prospect/tset.rkt +++ b/prospect/tset.rkt @@ -4,6 +4,7 @@ (provide tset? datum-tset + datum-tset-empty make-tset tset-count tset-empty @@ -72,6 +73,8 @@ (define (tset-member? t k) (treap-has-key? t k)) +(define datum-tset-empty (datum-tset)) + (module+ test (require rackunit) (require data/order)