From ebc9f36a8111ddecc8e265e8a6a70048218f244d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 2 May 2017 13:17:37 +0200 Subject: Factor out machines.conf parsing This allows hydra-queue-runner to use it. --- src/libstore/machines.hh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/libstore/machines.hh (limited to 'src/libstore/machines.hh') diff --git a/src/libstore/machines.hh b/src/libstore/machines.hh new file mode 100644 index 0000000000..96c4bd81a4 --- /dev/null +++ b/src/libstore/machines.hh @@ -0,0 +1,35 @@ +#pragma once + +#include "types.hh" + +namespace nix { + +struct Machine { + + const string storeUri; + const std::vector systemTypes; + const string sshKey; + const unsigned int maxJobs; + const unsigned int speedFactor; + const std::set supportedFeatures; + const std::set mandatoryFeatures; + bool enabled = true; + + bool allSupported(const std::set & features) const; + + bool mandatoryMet(const std::set & features) const; + + Machine(decltype(storeUri) storeUri, + decltype(systemTypes) systemTypes, + decltype(sshKey) sshKey, + decltype(maxJobs) maxJobs, + decltype(speedFactor) speedFactor, + decltype(supportedFeatures) supportedFeatures, + decltype(mandatoryFeatures) mandatoryFeatures); +}; + +typedef std::vector Machines; + +void parseMachines(const std::string & s, Machines & machines); + +} -- cgit 1.4.1