store: Update to the new daemon protocol.
* guix/store.scm (%protocol-version): Set minor to 14. (open-connection): Add 'cpu-affinity' parameter and honor it.
This commit is contained in:
parent
df7393b93c
commit
d203d3d4cb
|
@ -129,7 +129,7 @@
|
||||||
direct-store-path
|
direct-store-path
|
||||||
log-file))
|
log-file))
|
||||||
|
|
||||||
(define %protocol-version #x10c)
|
(define %protocol-version #x10e)
|
||||||
|
|
||||||
(define %worker-magic-1 #x6e697863) ; "nixc"
|
(define %worker-magic-1 #x6e697863) ; "nixc"
|
||||||
(define %worker-magic-2 #x6478696f) ; "dxio"
|
(define %worker-magic-2 #x6478696f) ; "dxio"
|
||||||
|
@ -328,11 +328,13 @@
|
||||||
(status nix-protocol-error-status))
|
(status nix-protocol-error-status))
|
||||||
|
|
||||||
(define* (open-connection #:optional (file (%daemon-socket-file))
|
(define* (open-connection #:optional (file (%daemon-socket-file))
|
||||||
#:key (reserve-space? #t))
|
#:key (reserve-space? #t) cpu-affinity)
|
||||||
"Connect to the daemon over the Unix-domain socket at FILE. When
|
"Connect to the daemon over the Unix-domain socket at FILE. When
|
||||||
RESERVE-SPACE? is true, instruct it to reserve a little bit of extra
|
RESERVE-SPACE? is true, instruct it to reserve a little bit of extra space on
|
||||||
space on the file system so that the garbage collector can still
|
the file system so that the garbage collector can still operate, should the
|
||||||
operate, should the disk become full. Return a server object."
|
disk become full. When CPU-AFFINITY is true, it must be an integer
|
||||||
|
corresponding to an OS-level CPU number to which the daemon's worker process
|
||||||
|
for this connection will be pinned. Return a server object."
|
||||||
(let ((s (with-fluids ((%default-port-encoding #f))
|
(let ((s (with-fluids ((%default-port-encoding #f))
|
||||||
;; This trick allows use of the `scm_c_read' optimization.
|
;; This trick allows use of the `scm_c_read' optimization.
|
||||||
(socket PF_UNIX SOCK_STREAM 0)))
|
(socket PF_UNIX SOCK_STREAM 0)))
|
||||||
|
@ -355,7 +357,11 @@ operate, should the disk become full. Return a server object."
|
||||||
(protocol-major v))
|
(protocol-major v))
|
||||||
(begin
|
(begin
|
||||||
(write-int %protocol-version s)
|
(write-int %protocol-version s)
|
||||||
(if (>= (protocol-minor v) 11)
|
(when (>= (protocol-minor v) 14)
|
||||||
|
(write-int (if cpu-affinity 1 0) s)
|
||||||
|
(when cpu-affinity
|
||||||
|
(write-int cpu-affinity s)))
|
||||||
|
(when (>= (protocol-minor v) 11)
|
||||||
(write-int (if reserve-space? 1 0) s))
|
(write-int (if reserve-space? 1 0) s))
|
||||||
(let ((s (%make-nix-server s
|
(let ((s (%make-nix-server s
|
||||||
(protocol-major v)
|
(protocol-major v)
|
||||||
|
|
Loading…
Reference in New Issue