Index: ulex/ulex.scm ================================================================== --- ulex/ulex.scm +++ ulex/ulex.scm @@ -461,16 +461,17 @@ ;; this is for ping where we don't want to necessarily have set up our own server yet. ;; (define (send udata host-port handler qrykey data #!key (hostname #f)(pid #f)(params '())(retval #f)) (let* ((my-host-port (udat-my-host-port udata)) (isme (equal? host-port my-host-port)) ;; am I calling myself? - (dat (conc - handler " " - my-host-port " " - (udat-my-pid udata) " " + (dat (list + handler ;; " " + my-host-port ;; " " + (udat-my-pid udata) ;; " " qrykey - (if (null? params) "" (conc " " (string-intersperse params " ")))))) + params #;(if (null? params) "" (conc " " (string-intersperse params " "))) + ))) ;; (print "send isme is " (if isme "true!" "false!") ", my-host-port: " my-host-port ", host-port: " host-port) (if isme (ulex-handler udata dat data) (handle-exceptions ;; ERROR - MAKE THIS EXCEPTION HANDLER MORE SPECIFIC exn @@ -521,15 +522,15 @@ res)) #f))) ;; #f means failed to communicate ;; (define (ulex-handler udata controldat data) - ;; (print "controldat: " controldat " data: " data) - (match (string-split controldat) + (print "controldat: " controldat " data: " data) + (match controldat ;; (string-split controldat) ((handlerkey host-port pid qrykey params ...) ;; (print "handlerkey: " handlerkey " host-port: " host-port " pid: " pid " qrykey: " qrykey " params: " params) - (case (string->symbol handlerkey) + (case handlerkey ;; (string->symbol handlerkey) ((ack)(print "Got ack!")) ((ping) ;; special case - return result immediately on the same connection (let* ((proc (hash-table-ref/default (udat-handlers udata) 'ping #f)) (val (if proc (proc) "gotping")) (peer (make-peer addr-port: host-port pid: pid))