1classdef (Sealed) RetrialPolicy
2 % Enumeration of retrial policies
for an orbiting population.
4 % The policy fixes how the aggregate rate at which the orbit attempts to
5 % re-enter the station depends on the orbit size n:
7 % LINEAR - each orbiting customer retries independently at rate nu, so
8 % the aggregate retrial rate
is n*nu. This
is the classical
9 % retrial queue of Falin and Templeton.
10 % CONSTANT - the orbit as a whole retries at rate nu whenever it
is
11 % non-empty, independently of n. This models a single retrial
12 % controller shared by the orbit rather than per-customer
15 % Copyright (c) 2012-2026, Imperial College London
16 % All rights reserved.
24 function text = toText(type)
27 case RetrialPolicy.LINEAR
29 case RetrialPolicy.CONSTANT
32 line_error(mfilename,
'Unrecognized retrial policy type.');
36 function type = fromText(text)
37 % TYPE = FROMTEXT(TEXT)
39 case {
'linear',
'per-customer',
'falin'}
40 type = RetrialPolicy.LINEAR;
41 case {
'constant',
'fixed',
'controller'}
42 type = RetrialPolicy.CONSTANT;
44 line_error(mfilename, sprintf(
'Unrecognized retrial policy ''%s''.', text));