CatTask v2009 ProcessControllerReport
<accesscontrol>Main:MyGroup</accesscontrol>
ProcessControllerReport
This is rather obsolete. I will finish it later.
Well, we have a lot of things to do in this function. It deserves its own section.
A ControllerReport is sent when:
- A Controller replies to a LD whether it is an active Controller. Correlative message should be a ControllerMessage.
- A Controller replies to a LD if it has sent a message to a correct active Controller.
Therefore, the implementation should be:
- Use the CorrelationId to find the original message
- If not found: END.
- If the correlative message is a ControllerMessage:
- If IsActiveController = yes: the LD updates its activeControllerEndPoint field to the end point of queue from where the received message was sent.
- If IsActiveController = no: ignore.
- If the correlative message is a TaskMessage:
- If IsActiveController = yes: update the DeliveryStatus of the stored-to-keep-track-of message.
- If IsActiveController = no: see the flow below
IsActiveController