[anonsec] I-D Action:draft-ietf-btns-connection-latching-06.txt

Nicolas Williams Nicolas.Williams at sun.com
Wed Apr 9 11:12:39 PDT 2008


On Wed, Apr 09, 2008 at 12:36:33PM -0500, Nicolas Williams wrote:
> On Wed, Apr 09, 2008 at 07:42:02PM +0200, Daniel Migault wrote:
> > It sounds good for me, maybe we should also add dot lines with the 
> > CREATE_CONNECTION_LATCH function.
> 
> Consider it done.
> 
> > Can the LISTEN state be considered as something like a "larval state"? 
> 
> Yes.
> 
> > Should we introduce in the same manner a CONNECTION state so that 
> > listeners  and connections object have similar state architecture?
> 
> I guess I could.  I'll play with it.  This diagram is fairly busy though
> and I want to keep it simple.  It needn't capture every subtlety :)

OK, here it is.  I think this is as busy as I want the state machine
diagram to be.

                  :
          <CREATE_LISTENER_LATCH()>
                  :                  :
                  v                 <CREATE_CONNECTION_LATCH()>
             +--------+              :
      +------|LISTENER|........      :     +----------------------+
      |    : +--------+       :      :     |Legend:               |
      |    <conn. trigger event>     :     |  dotted lines denote |
      |   (e.g., TCP SYN receipt,    :     |     latch creation   |
      |    : connect() call)  :      :     |                      |
      |    :                  v      v     |  solid lines denote  |
      |    :               +-----------+   |     state transition |
      |    :        +------|ESTABLISHED|   +----------------------+
      |    :        |      +-----------+
      |    :        |         |     ^
      |    :    <conflict>    |     |
      |    :        |   <conflict> <conflict
      |    :        |         |     cleared>
      | <conflict>  |         v     |
      |    :        |    +--------------------+
      |    :........|...>|SUSPENDED (OPTIONAL)|
      |    :        |    +--------------------+
      |    :        v            |
      |    :      +------+       |
      |    :.....>|BROKEN|       |
      |           +-+----+   <RELEASE_LATCH()>
      |             |            |
      |   <RELEASE_LATCH()>      |
      |             |            v
   <RELEASE_LATCH()>|          +---------------------------------+
      |             |          |CLOSED (common to LISTENER and   |
      +-------------+--------->|        CONNECTION latches both) |
                               +---------------------------------+


More information about the ANONSEC mailing list