Connection Request Status Transitions

Creation of CR initiates the process during which attempts at connecting, or satisfying, that CR will be made, and may result in eventual success or failure in establishing the required connection(s) leading to the requested meta-network. During the connection process, the CR owner will be notified of, potentially, many state transitions, each of which needs to be properly handled by the application.

 

In particular, a CR can be in two states,

i) Transient state – Being in this state, the status of the CR will change at some point to another status, ex. the connected state having status CONNMGR_STATUS_CONNECTED is transient.

ii) Non-transient state – When a CR is in this state, its status will never change. For example, a disconnected CR in non-transient state will continue to be disconnected (and have the same status) forever. If an application finds its CR in this state, and a connection to desired meta-network is still required, the application needs to release and recreate the CR.

 

The figure attached to this blog entry maps out possible status transitions, clearly defines the transient and non-transient states and is meant to be used as a guide in implementations handling status updates. The meaning of each of the statuses is summarized in the table below.

 

Note that the CONNMGR_STATUS_ status prefix has been omitted in status names to aid in readability. Also note that since the status of CR can always change to CONNECTIONCANCELED, all states are in fact transient (of course, except for the state having the canceled status). However, the canceled state is a special case, and can be handled as such.

 

 

 

Figure: Client status transitions.

 

 

 

Table: Meanings of client statues.

 

[Author: Adam Dyba]