Hi Jerome,
There is no comprehensive state diagram because the states are relatively
complex. The basic sequence is:
do_Select->[do_State]->{do_Found | do_Fail |
[do_Wait[->do_Found]->]do_Delay}
To start do_Select can be optionally followed by a do_State. This state is
entered if do_Select resulted in a nil state or conditions indicate that
do_State is still pending for one or more servers. This is followed by one
of three states: do_Found (file found), do_Fail (file conclusively not
found) or an optionally prefixed sequence of additional states that may
resolve into a do_Found or a do_Delay.
The do_Have state is asynchronous and if entered when the corresponding
state is do_Wait then do_Wait transitions to do_Found. However, note that
do_Wait is optional and sometimes is not entered. Additionally, do_Wait is a
temporary state and if do_Have does not occur when this state is active, we
automatically transition to do_Delay.
The do_Found state redirects the client, do_Fail tells the client the file
does not exist, and the do_Delay state tells the client to come back later.
All are ending states.
Hope this answers things a bit.
Andy
-----Original Message-----
From: Jerome LAURET
Sent: Tuesday, April 19, 2011 8:05 AM
To: xrootd-l
Subject: simple question on flow diagram
Is there a write-up somewhere documenting the state diagram
related to your messages do_State, do_Have, do_Select etc ...?
Thank you,
--
,,,,,
( o o )
--m---U---m--
Jerome
|