5 Connection management algorithm basics
6 ======================================
8 When a session is created, a sorted list of services is added to the
9 session. The services are filtered and stable sorted according
12 - AllowedBearers (filter and sort)
13 - RoamingPolicy (filter and sort)
15 A stable sorting algorithms maintains the relative order.
17 If a service is removed or added all sessions are updated according
20 There are three triggers which lead to evaluate the connect
29 Session.Connect() Offline
31 | Yes +------+-------+ No
32 +------+StayConnected?+------ Do nothing
34 Session.Change() ------+
37 +-----+EmergencyCall?+-----+
38 Yes| +--------------+ |No
40 Connect to +--------------+
41 first available +---+AvoidHandover?+---+
42 Service | +--------------+ |
45 +---+In service_list +---+ |
46 Yes| |and online? | |No |
47 | +----------------+ | |
49 Take that one Take first in
52 There are two triggers which lead to evaluate the disconnect
55 - Session.Disconnect()
65 +-----------------+ Yes
66 |service not used +-------------+
71 Service.Disconnect() Do nothing