160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
(fullname #f)
(hostport #f)
(lastmsg 0)
(expires 0))
;; replaces *runremote*
(define *rmt:remote* (make-rmt:remote))
;; do we have a connection to apath dbname and
;; is it not expired? then return it
;;
;; else setup a connection
;;
;; if that fails, return '(#f "some reason") ;; NB// convert to raising an exception
|
>
>
>
|
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
(fullname #f)
(hostport #f)
(lastmsg 0)
(expires 0))
;; replaces *runremote*
(define *rmt:remote* (make-rmt:remote))
;; set up the api proc, seems like there should be a better place for this?
(api-proc api:process-request)
;; do we have a connection to apath dbname and
;; is it not expired? then return it
;;
;; else setup a connection
;;
;; if that fails, return '(#f "some reason") ;; NB// convert to raising an exception
|
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
|
(system (conc "nbfake megatest -server - -area "apath
" -db "dbname))
(thread-sleep! 1.5)
(rmt:open-main-connection remote apath) ;; TODO: Add limit to number of tries
)))
(if the-srv ;; yes, we have a server, now try connecting to it
(let* ((srv-addr (server-address the-srv))
(srvready (server-ready? srv-addr))
(fullpath (db:dbname->path apath dbname)))
(if srvready
(hash-table-set! (rmt:remote-conns remote)
fullpath
(make-rmt:conn
apath: apath
dbname: dbname
|
>
>
|
|
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
|
(system (conc "nbfake megatest -server - -area "apath
" -db "dbname))
(thread-sleep! 1.5)
(rmt:open-main-connection remote apath) ;; TODO: Add limit to number of tries
)))
(if the-srv ;; yes, we have a server, now try connecting to it
(let* ((srv-addr (server-address the-srv))
(ipaddr (alist-ref 'ipaddr the-srv))
(port (alist-ref 'port the-srv))
(srvready (server-ready? ipaddr port))
(fullpath (db:dbname->path apath dbname)))
(if srvready
(hash-table-set! (rmt:remote-conns remote)
fullpath
(make-rmt:conn
apath: apath
dbname: dbname
|