2 % External job departure node
for open queueing networks
4 % Represents network exit point where jobs are removed from open
classes.
6 % Copyright (c) 2012-2026, Imperial College London
15 function self = Sink(model, name)
16 % SINK Create an external departure sink node
18 % @brief Creates a Sink node
for external job removal
19 % @param model Network model to add the sink node to
20 % @param name String identifier
for the sink node
21 % @
return self Sink instance ready
for job absorption
24 if model.isMatlabNative()
28 self.server = Section(
'JobSink');
30 self.model.addNode(self);
31 self.schedStrategy = SchedStrategy.EXT;
32 if length(model.getClasses())>1 %
if Sink created after some closed
classes
33 for r=1:model.getNumberOfClasses
35 self.setRouting(
classes{r},RoutingStrategy.DISABLED);
39 elseif model.isJavaNative()
41 self.obj=jline.lang.nodes.Sink(model.obj, name);
46 function sections = getSections(self)
47 % SECTIONS = GETSECTIONS()
49 sections = {
'', self.server,
''};
54 methods(Access =
protected)
55 % Override copyElement method:
56 function clone = copyElement(self)
57 % CLONE = COPYELEMENT()
59 % Make a shallow copy of all properties
60 clone = copyElement@Copyable(self);
61 % Make a deep copy of each
object
62 clone.input = self.input;
63 clone.server = self.server.copy;
64 clone.output = self.output;