srfi-13
(chicken process-context))
-(define client-beh
+(define (make-client-beh system)
(let ((name "name")
(recipients '()))
-
(lambda (self . message)
(match message
(('start)
(send-message system 'read self)
'sleep)))
+(define (main-beh self system)
+ (send-message (make-actor (make-client-beh system)) 'start)
+ 'done)
+
(define (print-usage)
(print "Actor-driven chat client.\n")
(print "Usage: chat_client -h")
(((or "-n" "--hostname") hstr rest ...)
(loop rest hstr port))
(()
- (init-sam host port)
- (send-message (make-actor client-beh) 'start)
- (start-console))
+ (boot-sam host port main-beh))
(else
(print "Unrecognised argument '" (car args) "'.\n")
(print-usage))))