28 lines
948 B
Racket
28 lines
948 B
Racket
#lang syndicate
|
|
;;; SPDX-License-Identifier: LGPL-3.0-or-later
|
|
;;; SPDX-FileCopyrightText: Copyright © 2021 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
|
|
|
(module+ main
|
|
(require racket/cmdline)
|
|
(require (only-in racket/port read-line-evt))
|
|
(require (only-in racket/string string-trim))
|
|
(require syndicate/drivers/tcp)
|
|
(require syndicate/drivers/stream)
|
|
(require syndicate/drivers/racket-event)
|
|
|
|
(define host "127.0.0.1")
|
|
(define port 5999)
|
|
|
|
(command-line #:once-each
|
|
[("--host" "-H") hostname "Set hostname to connect to"
|
|
(set! host hostname)]
|
|
[("--port" "-p") port-number "Set port number to connect to"
|
|
(set! port (string->number port-number))])
|
|
|
|
(actor-system/dataspace (ds)
|
|
(spawn-racket-event-driver ds)
|
|
(spawn-tcp-driver ds)
|
|
(spawn
|
|
(at ds
|
|
(assert (StreamConnection (port-lines-source ds) (port-sink) (TcpRemote host port)))))))
|