Index: http-transportmod.scm ================================================================== --- http-transportmod.scm +++ http-transportmod.scm @@ -307,11 +307,11 @@ ;; serverdat contains uuid to be used for connection validation ;; ;; NOTE: serverdat must be initialized or created by servdat-init ;; -(define (http-transport:send-receive sdat qry-key cmd params #!key (numretries 3)) +#;(define (http-transport:send-receive sdat qry-key cmd params #!key (numretries 3)) (let* ((res #f) (success #t) (sparams (with-output-to-string (lambda ()(write params))))) ;; send the data and get the response extract the needed info from Index: rmtmod.scm ================================================================== --- rmtmod.scm +++ rmtmod.scm @@ -48,10 +48,11 @@ chicken.format chicken.process chicken.file.posix chicken.process-context.posix chicken.process-context + chicken.io (prefix sqlite3 sqlite3:) typed-records srfi-1 srfi-13 @@ -240,11 +241,11 @@ (begin (rmt:open-main-connection remote apath) (thread-sleep! 1) (rmt:general-open-connection remote apath dbname)) ;; we have a connection to main, ask for contact info for dbname - (let* ((res (http-transport:send-receive mainconn "x" 'get-server `(,apath ,dbname)))) + (let* ((res (rmt:send-receive-real remote apath ".db/main.db" #f 'get-server `(,apath ,dbname)))) (print "rmt:general-open-connection got res="res))))) ;;====================================================================== @@ -268,12 +269,12 @@ (payload (sexpr->string params)) (res (with-input-from-request (conc "http://"host":"port"/api") `((params . ,payload) (cmd . ,cmd) - (key . "nokey") - read-string)))) + (key . "nokey")) + read-string))) (string->sexpr res)))) (define (rmt:print-db-stats) (let ((fmtstr "~40a~7-d~9-d~20,2-f")) ;; "~20,2-f" (debug:print 18 *default-log-port* "DB Stats\n========") @@ -1541,11 +1542,11 @@ ;; NOTE: This is NOT called directly from clients as not all transports support a client running ;; in the same process as the server. ;; (define (server:ping host port server-id #!key (do-exit #f)) (let* ((sdat (servdat-init #f host port server-id))) - (http-transport:send-receive sdat 'ping '()))) + (rmt:send-receive sdat 'ping '()))) ;; ping the given server ;; (define (server:check-server server-record) (let* ((server-url (server:record->url server-record)) Index: tests/unittests/basicserver.scm ================================================================== --- tests/unittests/basicserver.scm +++ tests/unittests/basicserver.scm @@ -20,11 +20,11 @@ ;; Run like this: ;; ;; ./rununittest.sh server 1;(cd simplerun;megatest -stop-server 0) -(import rmtmod trace http-transportmod) +(import rmtmod trace http-transportmod http-client apimod) (trace-call-sites #t) (trace ;; rmt:find-main-server ) @@ -34,13 +34,22 @@ (test #f #f (rmt:get-connection *rmt:remote* *toppath* ".db/main.db")) (test #f #f (rmt:find-main-server *toppath* ".db/main.db")) (test #f #t (rmt:open-main-connection *rmt:remote* *toppath*)) (pp (hash-table->alist (rmt:remote-conns *rmt:remote*))) (test #f #t (rmt:conn? (rmt:get-connection *rmt:remote* *toppath* ".db/main.db"))) + (define *main* (rmt:get-connection *rmt:remote* *toppath* ".db/main.db")) (test #f 'a (loop-test (rmt:conn-ipaddr *main*)(rmt:conn-port *main*) 'a)) +(trace + rmt:get-connection + with-input-from-request + ) + +(define *db* #f) +(test #f #f (api:execute-requests *db* 'get-server `(,*toppath* ".db/1.db"))) +(test #f #f (rmt:general-open-connection *rmt:remote* *toppath* ".db/1.db")) ;; (delete-file* "logs/1.log") ;; (define run-id 1) ;; (test "setup for run" #t (begin (launch:setup)