Configurable broker tcp/http ports
This commit is contained in:
parent
4732650041
commit
025289500a
|
@ -11,17 +11,38 @@
|
|||
(require/activate imperative-syndicate/drivers/tcp)
|
||||
(require/activate imperative-syndicate/drivers/web)
|
||||
|
||||
(define (main)
|
||||
(spawn #:name 'server-listener
|
||||
(define tcp-scope "broker")
|
||||
(during/spawn (tcp-connection $id (tcp-listener 8001))
|
||||
#:name `(server-connection ,tcp-scope ,id)
|
||||
(server-facet/tcp id tcp-scope))
|
||||
(define *default-tcp-port* 8001)
|
||||
(define *default-http-port* 8000)
|
||||
|
||||
(during/spawn (http-request $id 'get (http-resource (http-server _ 8000 #f)
|
||||
`(,$scope ())) _ _ _)
|
||||
#:name `(server-connection ,scope ,id)
|
||||
(server-facet/websocket id scope))))
|
||||
(define (main #:tcp-port [tcp-port *default-tcp-port*]
|
||||
#:http-port [http-port *default-http-port*])
|
||||
(spawn #:name 'server-listener
|
||||
(when tcp-port
|
||||
(define tcp-scope "broker")
|
||||
(during/spawn (tcp-connection $id (tcp-listener tcp-port))
|
||||
#:name `(server-connection ,tcp-scope ,id)
|
||||
(server-facet/tcp id tcp-scope)))
|
||||
(when http-port
|
||||
(during/spawn (http-request $id 'get (http-resource (http-server _ http-port #f)
|
||||
`(,$scope ())) _ _ _)
|
||||
#:name `(server-connection ,scope ,id)
|
||||
(server-facet/websocket id scope)))))
|
||||
|
||||
(module+ main
|
||||
(extend-ground-boot! main))
|
||||
(require racket/cmdline)
|
||||
(define tcp-port *default-tcp-port*)
|
||||
(define http-port *default-http-port*)
|
||||
(command-line #:once-any
|
||||
["--tcp" port
|
||||
((format "Listen on plain TCP port (default ~a)" *default-tcp-port*))
|
||||
(set! tcp-port (string->number port))]
|
||||
["--no-tcp" "Do not listen on any plain TCP port"
|
||||
(set! tcp-port #f)]
|
||||
#:once-any
|
||||
["--http" port
|
||||
((format "Listen on websocket HTTP port (default ~a)" *default-http-port*))
|
||||
(set! http-port (string->number port))]
|
||||
["--no-http" "Do not listen on any websocket HTTP port"
|
||||
(set! http-port #f)])
|
||||
(extend-ground-boot! (lambda () (main #:tcp-port tcp-port
|
||||
#:http-port http-port))))
|
||||
|
|
Loading…
Reference in New Issue