EMA C++ RDM Usage Guide : 4 Source Directory Domain : 4.2 Usage
 
4.2 Usage
4.2.1 Source Directory Request Message
A Directory request message is encoded using ReqMsg with default or user-configured values and sent internally by OmmConsumer in the constructor of this class. A consumer can request information about all services by omitting ServiceName or ServiceId information, or specify a ServiceName or ServiceId to request information about only that service. Because the Source Directory domain uses a FilterList, a consumer can indicate the specific source related information in which it is interested via a Filter. Each bit-value represented in the filter corresponds to an information set that can be provided in response messages. A consumer can change the requested filter via a reissue. For more details about the FilterList type, refer to the Enterprise Message API C++ Edition Reference Guide.
Users can configure a directory request message using the OmmConsumerConfig.addAdminMsg() to override the default directory request.
LSEG recommends that a consumer application minimally request SERVICE_INFO_FILTER and SERVICE_STATE_FILTER for the Source Directory:
The Info filter contains the ServiceName and ServiceId data for all available services. When an appropriate service is discovered by the Open Message Model consumer, the ServiceName or ServiceId associated with the service is used on subsequent requests to that service.
The State filter contains status data for the service. Status data informs the Consumer whether the service is up (and available) or down (and unavailable).
 
Table 18: Source Directory Request Message  
Component
Description / Value
DomainType
Required. MMT_DIRECTORY = 4
Interactions
Required.
InitialImage: true, indicates initial image is required
InterestAfterRefresh: true, indicates streaming request is required
Only streaming and non-streaming requests are supported. If you need to send a ConsumerStatus generic message over the Directory stream, you must specify the interaction as "Streaming" in the request.
QoS
Not used.
worstQos
Not used.
priorityClass
Not used.
priorityCount
Not used.
extendedHeader
Not used.
NameType
Not used.
Name
Not used.
Filter
Required. Specifies a filter indicating the specific data in which a consumer is interested. Available categories include:
SERVICE_INFO_FILTER = 0x01
SERVICE_STATE_FILTER = 0x02
SERVICE_GROUP_FILTER = 0x04
SERVICE_LOAD_FILTER = 0x08
SERVICE_DATA_FILTER = 0x10
SERVICE_LINK_FILTER = 0x20
For details on the contents of each filter entry, refer to Section 4.3.1.1.
ServiceName
Optional.
If present, the directory request is for the specified service.
If neither the ServiceId nor the ServiceName is specified, then the request is for the entire directory.
NOTE: If the application requests a specific service, it should set either the ServiceId or ServiceName of the service, but not both.
ServiceId
Optional.
If present, the directory request is for the specified service.
If neither the ServiceId nor the ServiceName is specified, then the request is for the entire directory.
NOTE: If the application requests a specific service, it should set either the ServiceId or ServiceName of the service, but not both.
Identifier
Not used.
Attrib
Not used.
Payload
Not used.