What does an update directory message containing an empty map entry mean?

In RFAJ_RDMUsageGuide.pdf,
“If the client specifies a service name in a directory request, it receives the
directory response for just the requested service. If the requested service
name is not available to RFA, RFA responds with a refresh message that contains
an empty map entry in the payload.” If the application receives an update
directory message containing an empty map entry in the payload what does this
mean?

Tagged:

Best Answer

  • pimchaya.wongrukun01
    Answer ✓

    The update message means
    there is change on a service which the application does not request for; RFA
    has removed the changed info of non-requested service from the map so the map
    is empty. Hence, the application can ignore this update message.

    Please see details
    below:

    Even you application sets
    the service name e.g. SERVICE_A into a directory request:

    Msg Type: MsgType.REQUEST   
    Msg Model Type: DIRECTORY
    Indication Flags: REFRESH
    Hint Flags: HAS_ATTRIB_INFO
    AttribInfo
    ServiceName: SERVICE_A
    Filter: 3 (INFO | STATE)
    Payload: None

    RFA still requests
    directory for all services. This is current expected behavior of RFA:

    Msg Type: MsgType.REQUEST
    Msg Model Type: DIRECTORY
    Indication Flags: REFRESH
    Hint Flags: HAS_ATTRIB_INFO
    AttribInfo
    Filter: 63 (INFO | STATE | GROUP | LOAD | DATA | LINK)
    Payload: None

    Hence, RFA receives response
    messages (refresh and update) including all services info e.g. info of
    SERVICE_A and SERVICE_B:

    image

    Since the application
    requests only a specific service (SERVICE_A), RFA removes non-requested service
    info(SERVICE_B) from the message and pass the message to the application. So
    the application receives only info from the service that it has requested:

    image

Answers

  • When there is update on
    SERVICE_B e.g. SERVICE_B goes down, RFA receives an update message with 1 entry
    map; SERVICE_B(service id 4844) map entry containing down state:

    image

    The application does not request SERVICE_B
    directory; it requests SERVICE_A directory so RFA removes SERVICE_B map entry. The
    only 1 map entry has been removed; the update message contains an empty map
    entry. Then, RFA pass the message to the application:

    image

    That’s why the
    application receives an update message containing an empty map entry in the
    payload.