
On Fri, 18 May 2012, John MacAuley wrote:
I do track the states against each since they indicate the messages outstanding and what has been received.
I think that is a valid implementation approach. But it is not the only one. A state for a sub-connection can only be "what the NSA think it is", and differencing between states reserved and scheduled is not possible without assuming relatively synchronized clocks (which the protocol of course does, so it isn't that bad - afterall it is required for a sane reservation concept). Furthermore, as we currently have different statemachines for aggregator and ultimate provider this requires knowledge about what type the sub-connection is, which is not needed without.
For example, the reserving state indicates I have sent a message to the child NSA and am waiting for the reserveConfirmed message. Effectively, you are doing the same thing by waiting for a specific message. Once all children are in the reserved stateI can send back a reserveConfirmed to my parent.
As it should. But notice that the state is not actually observable by here. You just emit the reserveConfirmed. Best regards, Henrik Henrik Thostrup Jensen <htj at nordu.net> Software Developer, NORDUnet