Index: megatest.scm ================================================================== --- megatest.scm +++ megatest.scm @@ -22,11 +22,11 @@ ;; fake out readline usage of toplevel-command (define (toplevel-command . a) #f) (use (prefix sqlite3 sqlite3:) srfi-1 posix regex regex-case srfi-69 (prefix base64 base64:) readline apropos json http-client directory-utils typed-records - http-client srfi-18 extras format) + http-client srfi-18 extras format (prefix pkts pkts:)) ;; Added for csv stuff - will be removed ;; (use sparse-vectors) Index: nmsg-transport.scm ================================================================== --- nmsg-transport.scm +++ nmsg-transport.scm @@ -19,21 +19,23 @@ (declare (unit nmsg-transport)) (module nmsg-transport ( - * + nmsg:start-server + nmsg:open-send-close + nmsg:open-send-receive ) (import scheme posix chicken data-structures ports) (use pkts) (use nanomsg srfi-18) ;;start a server, returns the connection ;; -(define (start-server portnum ) +(define (nmsg:start-server portnum ) (let ((rep (nn-socket 'rep))) (handle-exceptions exn (let ((emsg ((condition-property-accessor 'exn 'message) exn))) (print "ERROR: Failed to start server \"" emsg "\"") @@ -44,11 +46,11 @@ ;; open connection to server, send message, close connection ;; ;; to take an action on failure use proc which is called with the error info ;; (proc exn errormsg) ;; -(define (open-send-close host-port msg attrib #!key (timeout 3)(proc #f)) ;; default timeout is 3 seconds +(define (nmsg:open-send-close host-port msg attrib #!key (timeout 3)(proc #f)) ;; default timeout is 3 seconds (let ((req (nn-socket 'req)) (uri (conc "tcp://" host-port)) (res #f) ;; (contacts (alist-ref 'contact attrib)) (mode (alist-ref 'mode attrib))) @@ -78,11 +80,11 @@ (thread-join! th1) res)))) ;; default timeout is 3 seconds ;; -(define (open-send-receive host-port msg attrib #!key (timeout 3)(proc #f)) +(define (nmsg:open-send-receive host-port msg attrib #!key (timeout 3)(proc #f)) (let ((req (nn-socket 'req)) (uri (conc "tcp://" host-port)) (res #f) (mode (alist-ref 'mode attrib))) (handle-exceptions Index: rmt.scm ================================================================== --- rmt.scm +++ rmt.scm @@ -26,11 +26,11 @@ (include "common_records.scm") (declare (uses portlogger)) (import portlogger) (declare (uses nmsg-transport)) -(import (prefix nmsg-transport nmsg:)) +(import nmsg-transport) (use (prefix pkts pkts:) srfi-18) ;; ;; THESE ARE ALL CALLED ON THE CLIENT SIDE!!! ;; @@ -74,20 +74,22 @@ (port-num (portlogger:open-run-close portlogger:find-port)) (nmsg-conn (nmsg:start-server port-num)) (pktspec (nmsg-pktspec *nmsg-conndat*)) (pktdir (conc (get-environment-variable "MT_RUN_AREA_HOME") "/.server-pkts"))) + (if (not (directory? pktdir))(create-directory pktdir)) ;; server is started, now create pkt if needed (if (eq? server-type 'main) (nmsg-pkt-set! *nmsg-conndat* - (pkts:write-alist-pkt + (pkts:write-alist->pkt pktdir `((hostname . ,(get-host-name)) (port . ,port-num) (pid . ,(current-process-id))) pktspec))) (nmsg-conn-set! *nmsg-conndat* nmsg-conn) + (mutex-unlock! (nmsg-mutex *nmsg-conndat*)) )) ;;====================================================================== ;; S U P P O R T F U N C T I O N S ;;======================================================================