On 12/1/11 9:37 PM, Kiran Ayyagari wrote:
On Thu, Dec 1, 2011 at 3:31 PM, Emmanuel Lecharny<[email protected]>  wrote:
Hi,

as I'm trying to implement the SSL layer, I have some suggestion regarding
the IoSession.

Right now, the session is navigating through different states :
CREATED, CONNECTED, CLOSING, CLOSED

I have added two more states :
SECURING, SECURED

The possible transition are :

o-->  CREATED
CREATED -->  CONNECTED, CLOSING, SECURING
CONNECTED -->  CLOSING
CLOSING -->  CLOSED
CLOSED --o
SECURING -->  SECURED, CLOSING
SECURED -->  CLOSING

At first it seems enough, but when it comes to deal with TLS, we may need to
switch from a CONNECTED state to a SECURING state, and the very same for
SECURED -->  CONNECTED. That adds two more transitions :
CONNECTED -->  SECURING
SECURED -->  CONNECTED

We could also add an IDLE and an IDLE_SECURED states, to manage idle
sessions. That's 6 more transitions :
CONNECTED -->  IDLE
SECURED -->  IDLE_SECURED
IDLE -->  CONNECTED, CLOSING
IDLE_SECURED -->  SECURED, CLOSING

We could even think about two other possible transitions, to deal with a
switch from an idle session to a secured session (or the same for a secure
idle session) :
IDLE -->  SECURING
IDLE_SECURED -->  CONNECTED

if there is some processing(here securing/handshake) going on can that
session still be considered as in IDLE state?
(IMO not)
No, it will transit from IDLE to CONNECTED.


--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to