CatTask v2009 ProcessControllerReport

From Catglobe Wiki
Jump to: navigation, search

<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:

  1. Use the CorrelationId to find the original message
  2. If not found: END.
  3. 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.
  4. 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

Cattask Process ControllerReport.JPG 

IsActiveController