#lang syndicate/actor (require racket/cmdline) (require racket/set) (require "private/util.rkt") (require "protocol.rkt") (require/activate "config.rkt") (require/activate "hub/static-content.rkt") (require/activate "hub/topic-demand.rkt") (require/activate "hub/local-topic.rkt") (require/activate "hub/subscription.rkt") (command-line #:program "racketmq" #:once-each ["--canonical-host" host port "Specify the canonical host and port for this hub" (actor #:name (list 'command-line-canonical-host host port) (assert (config (list 'canonical-host host (string->number port)))))] #:multi [("-c" "--config") filename "Specify a configuration file to load" (spawn-configuration filename)]) (actor #:name 'main (during (config (list 'canonical-host $h $p)) (assert (canonical-local-host h p)) (assert (local-host h p))) (during (config (list 'accepted-host $h $p)) (assert (local-host h p))) (during (local-host $host-name $port) (assert (vh host-name port))))