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