#714 Notify event generator when all registrants have ack'd

Next
closed-fixed
Sharon Lucas
5
2012-08-15
2012-08-13
Sharon Lucas
No

This feature was created for implementing Patch #1773587 at http://sourceforge.net/tracker/?func=detail&aid=1773587&group_id=33142&atid=407383 with some modifications as talked about in the patch..

Provide the ability for event generators to request notification from the Event service when all registered processes have acknowledged receiving the event. When generating an event, a process may give the option "NOTIFY". When all processes that should be notified of the event have acknowledged it, the Event service will queue a message to the process that generated an event. The message will have type STAF/Service/Event/AllAcksReceived and the message will contain the event ID of the event which has been acknowledged by all.

Since you can only generate an event for event types that have at least one registered process, my comment in the patch regarding that there must be at least one process registered for the generator to be notified is irrelevant.

Discussion

  • Sharon Lucas
    Sharon Lucas
    2012-08-15

    Decided to change the content of the STAF/Service/Event/AllAcksReceived message to be a marshalled map where the map contains the following fields:
    - eventID
    - eventServiceName

    Here's an example of submitting a Event GENERATE NOTIFY request (assume there was at least one process registered for events with type "MyType" and they acknowledge that they received the event:

    C:\>STAF local HANDLE CREATE HANDLE NAME GenerateHandle
    Response
    --------
    14

    C:\>set STAF_STATIC_HANDLE=14

    C:\>STAF local EVENT GENERATE TYPE MyType SUBTYPE MySubType NOTIFY
    Response
    --------
    1

    C:\>STAF local QUEUE GET WAIT
    Response
    --------
    {
    Priority : 5
    Date-Time : 20120815-11:54:50
    Machine : local://local
    Handle Name: STAF/SERVICE/Event
    Handle : 5
    User : none://anonymous
    Type : STAF/Service/Event/AllAcksReceived
    Message : {
    eventID : 1
    eventServiceName: Event
    }
    }

    C:\>

    Attached a file containing a cvs diff of the changes for this feature.

     
  • Sharon Lucas
    Sharon Lucas
    2012-08-15

    CVS Diff of changes for this feature

     
  • Sharon Lucas
    Sharon Lucas
    2012-08-15

    This feature will be in V3.1.5 of the Event service.

     
  • Sharon Lucas
    Sharon Lucas
    2012-08-15

    • status: open --> closed-fixed