Overview
Comment: | Bits n piece in place but not compileable yet |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | multi-transport |
Files: | files | file ages | folders |
SHA1: |
cd3d026b0f77dedcce941117e24ff658 |
User & Date: | matt on 2014-03-02 23:49:03 |
Other Links: | branch diff | manifest | tags |
Context
2014-03-03
| ||
12:39 | Fixed compilation check-in: 951ec894b7 user: mrwellan tags: multi-transport | |
2014-03-02
| ||
23:49 | Bits n piece in place but not compileable yet check-in: cd3d026b0f user: matt tags: multi-transport | |
11:47 | hacks in the general direction check-in: 815768b66f user: matt tags: multi-transport | |
Changes
Modified Makefile from [86daa05281] to [0842358201].
1 2 3 4 5 6 7 8 9 10 11 | # make install CSCOPTS='-accumulate-profile -profile-name $(PWD)/profile-ww$(shell date +%V.%u)' PREFIX=$(PWD) CSCOPTS= INSTALL=install SRCFILES = common.scm items.scm launch.scm \ ods.scm runconfig.scm server.scm configf.scm \ db.scm keys.scm margs.scm megatest-version.scm \ process.scm runs.scm tasks.scm tests.scm genexample.scm \ http-transport.scm filedb.scm \ client.scm gutils.scm synchash.scm daemon.scm mt.scm dcommon.scm \ tree.scm ezsteps.scm lock-queue.scm sdb.scm \ | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # make install CSCOPTS='-accumulate-profile -profile-name $(PWD)/profile-ww$(shell date +%V.%u)' PREFIX=$(PWD) CSCOPTS= INSTALL=install SRCFILES = common.scm items.scm launch.scm \ ods.scm runconfig.scm server.scm configf.scm \ db.scm keys.scm margs.scm megatest-version.scm \ process.scm runs.scm tasks.scm tests.scm genexample.scm \ http-transport.scm filedb.scm \ client.scm gutils.scm synchash.scm daemon.scm mt.scm dcommon.scm \ tree.scm ezsteps.scm lock-queue.scm sdb.scm \ rmt.scm api.scm tdb.scm rpc-transport.scm GUISRCF = dashboard-tests.scm dashboard-guimonitor.scm OFILES = $(SRCFILES:%.scm=%.o) GOFILES = $(GUISRCF:%.scm=%.o) ADTLSCR=mt_laststep mt_runstep mt_ezstep |
︙ | ︙ |
Modified megatest.scm from [af3e84e6eb] to [34c738736b].
︙ | ︙ | |||
23 24 25 26 27 28 29 | (declare (uses launch)) (declare (uses server)) (declare (uses client)) (declare (uses tests)) (declare (uses genexample)) (declare (uses daemon)) (declare (uses db)) | < < | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | (declare (uses launch)) (declare (uses server)) (declare (uses client)) (declare (uses tests)) (declare (uses genexample)) (declare (uses daemon)) (declare (uses db)) (declare (uses tdb)) (declare (uses mt)) (declare (uses api)) (declare (uses tasks)) ;; only used for debugging. (define *db* #f) ;; this is only for the repl, do not use in general!!!! |
︙ | ︙ |
Modified rpc-transport.scm from [3326a958d2] to [f4c768be5b].
︙ | ︙ | |||
10 11 12 13 14 15 16 | (require-extension (srfi 18) extras tcp s11n rpc) (import (prefix rpc rpc:)) (use sqlite3 srfi-1 posix regex regex-case srfi-69 hostinfo md5 message-digest) (import (prefix sqlite3 sqlite3:)) | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | (require-extension (srfi 18) extras tcp s11n rpc) (import (prefix rpc rpc:)) (use sqlite3 srfi-1 posix regex regex-case srfi-69 hostinfo md5 message-digest) (import (prefix sqlite3 sqlite3:)) (declare (unit rpc-transport)) (declare (uses common)) (declare (uses db)) (declare (uses tests)) (declare (uses tasks)) ;; tasks are where stuff is maintained about what is running. (include "common_records.scm") |
︙ | ︙ | |||
188 189 190 191 192 193 194 | (db:updater) (thread-start! th1) ;; (debug:print 0 "Server started on port " (rpc:default-server-port) "...") ;; (thread-start! th2) ;; (thread-join! th2) ;; return th2 for the calling process to do a join with th1 | | | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | (db:updater) (thread-start! th1) ;; (debug:print 0 "Server started on port " (rpc:default-server-port) "...") ;; (thread-start! th2) ;; (thread-join! th2) ;; return th2 for the calling process to do a join with th1 )) ;; rpc:server))) (define (rpc-transport:keep-running db host:port) ;; if none running or if > 20 seconds since ;; server last used then start shutdown (let loop ((count 0)) (thread-sleep! 20) ;; no need to do this very often (let ((numrunning (db:get-count-tests-running db))) |
︙ | ︙ |
Modified server.scm from [b37ad16d5b] to [517eb6b595].
︙ | ︙ | |||
51 52 53 54 55 56 57 | (let ((transport (server:get-transport))) (case transport ((http) (http-transport:launch run-id)) ((rpc) (rpc-transport:launch run-id)) (else (debug:print 0 "ERROR: No known transport set, transport=" transport ", using rpc") (rpc-transport:launch run-id))))) | < < < < < < < < < < < < < < < < < < < < < < < < < > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | (let ((transport (server:get-transport))) (case transport ((http) (http-transport:launch run-id)) ((rpc) (rpc-transport:launch run-id)) (else (debug:print 0 "ERROR: No known transport set, transport=" transport ", using rpc") (rpc-transport:launch run-id))))) ;;====================================================================== ;; S E R V E R U T I L I T I E S ;;====================================================================== ;; Get the transport (define (server:get-transport) (if * (string->symbol (or (args:get-arg "-transport") (configf:lookup *configdat* "server" "transport") "rpc"))) ;; Generate a unique signature for this server (define (server:mk-signature) |
︙ | ︙ | |||
103 104 105 106 107 108 109 | ;; When using zmq this would send the message back (two step process) ;; with spiffy or rpc this simply returns the return data to be returned ;; (define (server:reply return-addr query-sig success/fail result) (debug:print-info 11 "server:reply return-addr=" return-addr ", result=" result) ;; (send-message pubsock target send-more: #t) ;; (send-message pubsock | | | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | ;; When using zmq this would send the message back (two step process) ;; with spiffy or rpc this simply returns the return data to be returned ;; (define (server:reply return-addr query-sig success/fail result) (debug:print-info 11 "server:reply return-addr=" return-addr ", result=" result) ;; (send-message pubsock target send-more: #t) ;; (send-message pubsock (case (server:get-transport) ((fs) result) ((http)(db:obj->string (vector success/fail query-sig result))) ((zmq) (let ((pub-socket (vector-ref *runremote* 1))) (send-message pub-socket return-addr send-more: #t) (send-message pub-socket (db:obj->string (vector success/fail query-sig result))))) (else |
︙ | ︙ |