22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
;; See README in the distribution at https://www.kiatoa.com/fossils/ulex
;; NOTES:
;; Why sql-de-lite and not say, dbi? - performance mostly, then simplicity.
;;
;;======================================================================
(module ulex
(
;; NOTE: looking for the handler proc - find the run-listener :)
run-listener ;; (run-listener handler-proc [port]) => uconn
;; NOTE: handler-proc params;
;; (handler-proc rem-host-port qrykey cmd params)
|
<
>
>
|
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
;; See README in the distribution at https://www.kiatoa.com/fossils/ulex
;; NOTES:
;; Why sql-de-lite and not say, dbi? - performance mostly, then simplicity.
;;
;;======================================================================
(module ulex
*
#;(
;; NOTE: looking for the handler proc - find the run-listener :)
run-listener ;; (run-listener handler-proc [port]) => uconn
;; NOTE: handler-proc params;
;; (handler-proc rem-host-port qrykey cmd params)
|
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
(work-queue-thread #f)
(num-threads-running 0)
)
;; Parameters
;; work-method:
(define work-method (make-parameter 'direct))
;; mailbox - all rdat goes through mailbox
;; threads - all rdat immediately executed in new thread
;; direct - no queuing
;;
;; return-method, return the result to waiting send-receive:
(define return-method (make-parameter 'direct))
;; mailbox - create a mailbox and use it for passing returning results to send-receive
;; polling - put the result in a hash table keyed by qrykey and send-receive can poll it for result
;; direct - no queuing, result is passed back in single tcp connection
;;
;; ;; struct for keeping track of others we are talking to
;; ;;
|
|
|
|
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
(work-queue-thread #f)
(num-threads-running 0)
)
;; Parameters
;; work-method:
(define work-method (make-parameter 'mailbox))
;; mailbox - all rdat goes through mailbox
;; threads - all rdat immediately executed in new thread
;; direct - no queuing
;;
;; return-method, return the result to waiting send-receive:
(define return-method (make-parameter 'mailbox))
;; mailbox - create a mailbox and use it for passing returning results to send-receive
;; polling - put the result in a hash table keyed by qrykey and send-receive can poll it for result
;; direct - no queuing, result is passed back in single tcp connection
;;
;; ;; struct for keeping track of others we are talking to
;; ;;
|