LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
saveGetStrategy.m
1function [simDoc, section] = saveGetStrategy(self, simDoc, section, ind)
2% [SIMDOC, SECTION] = SAVEGETSTRATEGY(SIMDOC, SECTION, NODEIDX)
3
4% Copyright (c) 2012-2026, Imperial College London
5% All rights reserved.
6
7sn = self.getStruct;
8ist = sn.nodeToStation(ind);
9if sn.nodetype(ind) == NodeType.Queue && sn.sched(ist) == SchedStrategy.POLLING
10 queueGetStrategyNode = simDoc.createElement('parameter');
11 switch sn.nodeparam{ind}{1}.pollingType
12 case PollingType.GATED
13 queueGetStrategyNode.setAttribute('classPath', 'jmt.engine.NetStrategies.QueueGetStrategies.GatedPollingGetStrategy');
14 case PollingType.EXHAUSTIVE
15 queueGetStrategyNode.setAttribute('classPath', 'jmt.engine.NetStrategies.QueueGetStrategies.ExhaustivePollingGetStrategy');
16 case PollingType.KLIMITED
17 queueGetStrategyNode.setAttribute('classPath', 'jmt.engine.NetStrategies.QueueGetStrategies.LimitedPollingGetStrategy');
18 pollingKNode = simDoc.createElement('subParameter');
19 pollingKNode.setAttribute('classPath', 'java.lang.Integer');
20 pollingKNode.setAttribute('name', 'pollingKValue');
21 sn = self.getStruct;
22 valueNode = simDoc.createElement('value');
23 valueNode.appendChild(simDoc.createTextNode(int2str(sn.nodeparam{ind}{1}.pollingPar(1))));
24
25 pollingKNode.appendChild(valueNode);
26 queueGetStrategyNode.appendChild(pollingKNode);
27 end
28 queueGetStrategyNode.setAttribute('name', 'FCFSstrategy');
29 section.appendChild(queueGetStrategyNode);
30else
31 % the get strategy is always fcfs for queues unless a polling queue
32 queueGetStrategyNode = simDoc.createElement('parameter');
33 queueGetStrategyNode.setAttribute('classPath', 'jmt.engine.NetStrategies.QueueGetStrategies.FCFSstrategy');
34 queueGetStrategyNode.setAttribute('name', 'FCFSstrategy');
35 section.appendChild(queueGetStrategyNode);
36end
37end