aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2021-01-15 22:05:50 +0000
committerChristopher Baines <mail@cbaines.net>2021-01-15 22:20:13 +0000
commit50271cadc164b13bc7a43d7d58e588346939fa66 (patch)
tree2467f9d62bfe9022ef420dbf054c282c587004e5 /guix-build-coordinator
parentf7d3c4bb78cf40702268ceecbecc74d7c839629f (diff)
downloadbuild-coordinator-50271cadc164b13bc7a43d7d58e588346939fa66.tar
build-coordinator-50271cadc164b13bc7a43d7d58e588346939fa66.tar.gz
Rework the agent messaging modules
Diffstat (limited to 'guix-build-coordinator')
-rw-r--r--guix-build-coordinator/agent-messaging.scm34
-rw-r--r--guix-build-coordinator/agent-messaging/abstract.scm30
-rw-r--r--guix-build-coordinator/agent-messaging/http.scm11
-rw-r--r--guix-build-coordinator/agent.scm3
4 files changed, 68 insertions, 10 deletions
diff --git a/guix-build-coordinator/agent-messaging.scm b/guix-build-coordinator/agent-messaging.scm
new file mode 100644
index 0000000..912254b
--- /dev/null
+++ b/guix-build-coordinator/agent-messaging.scm
@@ -0,0 +1,34 @@
+;;; Guix Build Coordinator
+;;;
+;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
+;;;
+;;; This file is part of the guix-build-coordinator.
+;;;
+;;; The Guix Build Coordinator is free software; you can redistribute
+;;; it and/or modify it under the terms of the GNU General Public
+;;; License as published by the Free Software Foundation; either
+;;; version 3 of the License, or (at your option) any later version.
+;;;
+;;; The Guix Build Coordinator is distributed in the hope that it will
+;;; be useful, but WITHOUT ANY WARRANTY; without even the implied
+;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+;;; See the GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with the guix-data-service. If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+(define-module (guix-build-coordinator agent-messaging)
+ #:use-module (oop goops)
+ #:use-module (guix-build-coordinator agent-messaging http)
+ #:duplicates (merge-generics))
+
+(re-export submit-status)
+(re-export submit-log-file)
+(re-export submit-build-result)
+(re-export report-build-start)
+(re-export report-setup-failure)
+(re-export submit-output)
+(re-export fetch-builds-for-agent)
+
+(re-export make-http-agent-interface)
diff --git a/guix-build-coordinator/agent-messaging/abstract.scm b/guix-build-coordinator/agent-messaging/abstract.scm
new file mode 100644
index 0000000..e951496
--- /dev/null
+++ b/guix-build-coordinator/agent-messaging/abstract.scm
@@ -0,0 +1,30 @@
+;;; Guix Build Coordinator
+;;;
+;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
+;;;
+;;; This file is part of the guix-build-coordinator.
+;;;
+;;; The Guix Build Coordinator is free software; you can redistribute
+;;; it and/or modify it under the terms of the GNU General Public
+;;; License as published by the Free Software Foundation; either
+;;; version 3 of the License, or (at your option) any later version.
+;;;
+;;; The Guix Build Coordinator is distributed in the hope that it will
+;;; be useful, but WITHOUT ANY WARRANTY; without even the implied
+;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+;;; See the GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with the guix-data-service. If not, see
+;;; <http://www.gnu.org/licenses/>.
+
+(define-module (guix-build-coordinator agent-messaging abstract)
+ #:use-module (ice-9 exceptions)
+ #:export (make-agent-error-from-coordinator
+ agent-error-from-coordinator?
+ agent-error-from-coordinator-details))
+
+(define-exception-type &agent-error-from-coordinator &error
+ make-agent-error-from-coordinator
+ agent-error-from-coordinator?
+ (details agent-error-from-coordinator-details))
diff --git a/guix-build-coordinator/agent-messaging/http.scm b/guix-build-coordinator/agent-messaging/http.scm
index b1cacdb..42aa6ce 100644
--- a/guix-build-coordinator/agent-messaging/http.scm
+++ b/guix-build-coordinator/agent-messaging/http.scm
@@ -46,10 +46,8 @@
#:use-module (guix-build-coordinator utils)
#:use-module (guix-build-coordinator datastore)
#:use-module (guix-build-coordinator coordinator)
- #:export (agent-error-from-coordinator?
- agent-error-from-coordinator-details
-
- make-http-agent-interface
+ #:use-module (guix-build-coordinator agent-messaging abstract)
+ #:export (make-http-agent-interface
submit-status
submit-log-file
@@ -59,11 +57,6 @@
submit-output
fetch-builds-for-agent))
-(define-exception-type &agent-error-from-coordinator &error
- make-agent-error-from-coordinator
- agent-error-from-coordinator?
- (details agent-error-from-coordinator-details))
-
(define-class <http-agent-interface> ()
(coordinator-uri #:init-keyword #:coordinator-uri)
(agent-uuid #:init-keyword #:agent-uuid)
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm
index c290e95..683f501 100644
--- a/guix-build-coordinator/agent.scm
+++ b/guix-build-coordinator/agent.scm
@@ -39,7 +39,8 @@
#:use-module (guix derivations)
#:use-module (guix base32)
#:use-module (guix-build-coordinator utils)
- #:use-module (guix-build-coordinator agent-messaging http)
+ #:use-module (guix-build-coordinator agent-messaging)
+ #:use-module (guix-build-coordinator agent-messaging abstract)
#:export (run-agent))
(define (run-agent uuid