LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
removeClass.m
1function self = removeClass(self, jobclass)
2% SELF = REMOVECLASS(SELF, CLASS)
3%
4% Remove the specified CLASS from the model
5
6if hasSingleClass(self)
7 if self.classes{1}.name == jobclass.name
8 line_error(mfilename,'The network has a single class, it cannot be removed from the model.');
9 else
10 % no changes
11 end
12else
13 nClasses = length(self.classes);
14 r = self.getClassByName(jobclass.name).index; % class to remove
15 remaining = setdiff(1:nClasses, r);
16 if ~isnan(r)
17 % check with SEPT/LEPT
18 for i=1:length(self.nodes)
19 switch class(self.nodes{i})
20 case {'Delay','DelayStation','Queue'}
21 self.nodes{i}.schedStrategyPar = self.nodes{i}.schedStrategyPar(remaining);
22 self.nodes{i}.serviceProcess = self.nodes{i}.serviceProcess(remaining);
23 self.nodes{i}.classCap = self.nodes{i}.classCap(remaining);
24 self.nodes{i}.server.serviceProcess = self.nodes{i}.server.serviceProcess(remaining);
25 self.nodes{i}.output.outputStrategy = self.nodes{i}.output.outputStrategy(remaining);
26 case 'ClassSwitch'
27 self.nodes{i}.server.updateClassSwitch(self.nodes{i}.server.csFun(remaining,remaining));
28 self.nodes{i}.output.outputStrategy = self.nodes{i}.output.outputStrategy(remaining);
29 case 'Cache'
30 line_error(mfilename,'Cannot dynamically remove classes in models with caches. You need to re-instantiate the model.');
31 case 'Source'
32 self.nodes{i}.arrivalProcess = self.nodes{i}.arrivalProcess(remaining);
33 self.nodes{i}.classCap = self.nodes{i}.classCap(remaining);
34 self.nodes{i}.input.sourceClasses = self.nodes{i}.input.sourceClasses(remaining);
35 %self.nodes{i}.server.serviceProcess = self.nodes{i}.server.serviceProcess(remaining);
36 self.nodes{i}.output.outputStrategy = self.nodes{i}.output.outputStrategy(remaining);
37 case 'Sink'
38 self.nodes{i}.output.outputStrategy = self.nodes{i}.output.outputStrategy(remaining);
39 end
40 end
41 self.classes = self.classes(remaining);
42 self.reset(true); % require a complete re-initialization including state
43 end
44end
45end
Definition mmt.m:92