2 % An abstract
class for stations with service
4 % Copyright (c) 2012-2026, Imperial College London
16 function self = ServiceStation(name)
17 % SELF = STATION(NAME)
24 function distrib = getServiceProcess(self, oclass)
25 distrib = self.getService{oclass};
28 function self = removeJobClass(self,
jobclass)
29 % SELF = REMOVEJOBCLASS(JOBCLASS)
31 % Drop the service process and the scheduling parameter of
32 % JOBCLASS, at the station and inside its server section, on top
33 % of what
Station and Node remove.
35 remaining = self.remainingClassIndexes(
jobclass);
37 K = numel(remaining) + 1;
38 if numel(self.schedStrategyPar) == K
39 self.schedStrategyPar = self.schedStrategyPar(remaining);
41 if numel(self.serviceProcess) == K
42 self.serviceProcess = self.serviceProcess(remaining);
44 if ~isempty(self.server) && isprop(self.server,
'serviceProcess') ...
45 && numel(self.server.serviceProcess) == K
46 self.server.serviceProcess = self.server.serviceProcess(remaining);