@@ -126,11 +126,11 @@ (define *time-to-exit* #f) (define *server-run* #t) (define *run-id* #f) (define *server-kind-run* (make-hash-table)) (define *home-host* #f) -(define *queues* (make-api:queues enable: #t)) ;; set up the queues for coalescing queries + ;; (define *total-non-write-delay* 0) (define *heartbeat-mutex* (make-mutex)) (define *api-process-request-count* 0) (define *max-api-process-requests* 0) (define *server-overloaded* #f) @@ -166,10 +166,25 @@ (server-timeout (server:get-timeout)) ;; default from server:get-timeout (force-server #f) (ro-mode #f) (ro-mode-checked #f)) ;; flag that indicates we have checked for ro-mode +;; api queued requests structure and global (temporary solution) +(defstruct api:queues + (enable #f) + (dbstruct #f) ;; must be initialized! + (mutex (make-mutex)) + (readq '()) + (writeq '()) + (last-read (current-milliseconds)) + (last-write (current-milliseconds)) + (read-cvar (make-condition-variable "reads")) + (write-cvar (make-condition-variable "writes")) + ) + +(define *queues* (make-api:queues enable: #t)) ;; set up the queues for coalescing queries + ;; launching and hosts (defstruct host (reachable #f) (last-update 0) (last-used 0)