17 #ifndef __MASTER_ALLOCATOR_SORTER_SORTER_HPP__
18 #define __MASTER_ALLOCATOR_SORTER_SORTER_HPP__
51 const std::string& metricsPrefix) {}
57 const Option<std::set<std::string>>& fairnessExcludeResourceNames) = 0;
62 virtual void add(
const std::string& client) = 0;
65 virtual void remove(
const std::string& client) = 0;
69 virtual void activate(
const std::string& client) = 0;
73 virtual void deactivate(
const std::string& client) = 0;
82 virtual void updateWeight(
const std::string& path,
double weight) = 0;
86 const std::string& client,
87 const SlaveID& slaveId,
95 const std::string& client,
96 const SlaveID& slaveId,
102 const std::string& client,
103 const SlaveID& slaveId,
108 const std::string& client)
const = 0;
114 const std::string& client)
const = 0;
118 const SlaveID& slaveId)
const = 0;
123 const std::string& client,
124 const SlaveID& slaveId)
const = 0;
133 virtual void add(
const SlaveID& slaveId,
const Resources& resources) = 0;
136 virtual void remove(
const SlaveID& slaveId,
const Resources& resources) = 0;
140 virtual std::vector<std::string>
sort() = 0;
144 virtual bool contains(
const std::string& client)
const = 0;
148 virtual size_t count()
const = 0;
156 #endif // __MASTER_ALLOCATOR_SORTER_SORTER_HPP__
virtual void unallocated(const std::string &client, const SlaveID &slaveId, const Resources &resources)=0
Definition: option.hpp:28
Sorter(const process::UPID &allocator, const std::string &metricsPrefix)
Definition: sorter.hpp:49
virtual ~Sorter()=default
Definition: resources.hpp:79
virtual void initialize(const Option< std::set< std::string >> &fairnessExcludeResourceNames)=0
virtual const hashmap< SlaveID, Resources > & allocation(const std::string &client) const =0
virtual void update(const std::string &client, const SlaveID &slaveId, const Resources &oldAllocation, const Resources &newAllocation)=0
virtual void updateWeight(const std::string &path, double weight)=0
Definition: hashmap.hpp:38
virtual const Resources & totalScalarQuantities() const =0
virtual const Resources & allocationScalarQuantities(const std::string &client) const =0
An "untyped" PID, used to encapsulate the process ID for lower-layer abstractions (eg...
Definition: pid.hpp:39
virtual bool contains(const std::string &client) const =0
virtual void add(const std::string &client)=0
Definition: sorter.hpp:41
virtual std::vector< std::string > sort()=0
virtual void activate(const std::string &client)=0
virtual size_t count() const =0
virtual void deactivate(const std::string &client)=0
virtual void allocated(const std::string &client, const SlaveID &slaveId, const Resources &resources)=0