EMA C++ Configuration Guide : 3 Configuration Groups : 3.3 NiProvider Group : 3.3.4 NiProvider Entry Parameters
 
3.3.4 NiProvider Entry Parameters
Use the following parameters when configuring an NiProvider.
 
Table 6: NiProviderGroup Parameters  
Parameter
Type
Default
Description
CatchUnhandledException
UInt64
1
Specifies whether the Enterprise Message API catches unhandled exceptions thrown from methods executed on the its thread or whether the Enterprise Message API lets the application handle them. Available values include:
1 (true): Whenever the Enterprise Message API catches unhandled exceptions in its thread, the Enterprise Message API logs an error message and then terminates the thread.
0 (false): The Enterprise Message API passes unhandled exceptions to the operating system.
CatchUnknownJsonFids
UInt64
1
Specifies whether the RWF/JSON conversion catches unknown JSON field IDs. Possible values are:
0 (false): Do not catch unknown JSON field IDs.
1 (true): Catch unknown JSON field IDs.
CatchUnknownJsonKeys
UInt64
0
Specifies whether the RWF/JSON conversion catches unknown JSON keys. Possible values are:
0 (false): Do not catch unknown JSON keys.
1 (true): Catch unknown JSON keys.
Channel
EmaString
N/A
Specifies the channel that the NiProvider component should use. This channel must match the Name parameter from the appropriate <Channel> entry in the ChannelGroup configuration.
If Channel is not specified, the Enterprise Message API resorts to default channel behavior when needed. For further details on the <Channel> entry and default behaviors, refer to Section 3.4.
ChannelSet
EmaString
N/A
Specifies a comma-separated set of channel names. Each channel name must have a corresponding <Channel> entry in the ChannelGroup. In the event of a reconnection, Channels in the set are tried until a successful connection is made. For further details, refer to Section 3.4.9.
NOTE: If both Channel and ChannelSet are configured, the Enterprise Message API uses the parameter configured last (linearly) in the file.
For example:
If <Channel> is configured after <ChannelSet>, the Enterprise Message API uses <Channel>.
If <ChannelSet> is configured after <Channel>, the Enterprise Message API uses <ChannelSet>.
CloseChannelFromConverterFailure
UInt64
1
Specifies that the Enterprise Message API should close the channel if it fails to parse JSON messages or if it receives JSON error messages. Possible values are:
0 (false): Do not close the channel.
1 (true): Close the channel.
DefaultServiceID
UInt64
1
Specifies a default service ID for RWF/JSON conversion if both service name and ID are missing. The maximum allowable value is 65535.
Directory
EmaString
N/A
Specifies source directory refresh information that the NiProvider sends after establishing a connection. This must match the Name parameter from the appropriate <Directory> entry in the DirectoryGroup configuration.
If Directory is not specified, the Enterprise Message API uses a hard coded configuration. For further details on the <Directory> entry and default settings, refer to Section 3.10.
DispatchTimeoutApiThread
Int64
-1
Specifies the duration (in microseconds) for which the internal Enterprise Message API thread is inactive before going active to check whether a message was received.
If set to less thanzero, the thread goes active only if notified about a received message.
ItemCountHint
UInt64
100,000
Specifies the number of items the application expects to maintain. If set to 0, the Enterprise Message API resets it to 513.
For better performance, the application can set this to the approximate number of items it maintains.
JsonExpandedEnumFields
UInt64
0
Sets the RWF/JSON conversion to expand enumerated values in field entries to their display values for JSON protocol. Possible values are:
0 (false): Do not expand enumerated fields.
1 (true): Expand enumerated fields.
Logger
EmaString
N/A
Specifies a set of logging behavior the NiProvider should exhibit. It must match the Name parameter from the appropriate <Logger> entry in the LoggerGroup configuration.
If Logger is not specified, the Enterprise Message API uses a set of logger default behaviors. For further details on the <Logger> entry and default settings, refer to Section 3.8.
LoginRequestTimeOut
UInt64
45,000
Specifies the amount of time (in milliseconds) the consuming component has to respond with a login refresh message before the OmmNiProvider throws an exception.
If set to 0, the Enterprise Message API will wait for a response indefinitely.
NOTE: When ChannelSet is configured, the Enterprise Message API honors LoginRequestTimeOut only on its first connection. If the channel supporting the first connection goes down, the Enterprise Message API does not use LoginRequestTimeOut on subsequent connections.
MaxDispatchCountApiThread
UInt64
100
Specifies the maximum number of messages the Enterprise Message API dispatches before taking a real-time break.
MaxDispatchCountUserThread
UInt64
100
Specifies the maximum number of messages the Enterprise Message API can dispatch in a single call to the OmmNiProvider::dispatch().
MaxEventsInPool
Int64
-1
Specifies the maximum number of event objects in the event's pool.
MergeSourceDirectoryStreams
UInt64
1
Specifies whether the Enterprise Message API merges all source directory streams (configured and user-submitted) into one stream:
1 (true)
0 (false)
Name
EmaString
N/A
Specifies the name of this NiProvider component. Name is required when creating an NiProvider component.
You can use any value for Name.
OutputBufferSize
UInt64
65535
Sets the size of the output buffer for the RWF/JSON conversion.
WARNING! If the buffer size is not large enough, the RWF/JSON conversion fails.
PipePort
Int64
9002
Specifies the internal communication port. You might need to adjust this port if it conflicts with other processes on the machine.
ReconnectAttemptLimit
Int64
-1
Specifies the maximum number of times the non-interactive provider will attempt to reconnect to a channel when it fails.
If set to -1, the non-interactive provider continually attempts to reconnect.
ReconnectMaxDelay
Int64
5000
Sets the maximum amount of time the non-interactive provider will wait (in milliseconds) before attempting to reconnect a failed channel. Refer also to the ReconnectMinDelay parameter.
ReconnectMinDelay
Int64
1000
Specifies the minimum amount of time the non-interactive provider will wait (in milliseconds) before attempting to reconnect a failed channel. This wait time increases with each connection attempt, from ReconnectMinDelay to ReconnectMaxDelay.
RecoverUserSubmitSourceDirectory
Int64
1
Specifies whether the Enterprise Message API recovers user-submitted source directories when recovering from a disconnect. Possible values include:
1 (true): The API will recover user-submitted source directories automatically on recovery from a disconnect.
0 (false): The API will not recover user-submitted source directories.
RefreshFirstRequired
UInt64
1
Specifies whether the Enterprise Message API requires the application to send a refresh message prior to sending update messages. Possible values include:
1 (true): The NiProvider does not require that a refresh message is sent prior to update messages.
0 (false): The NiProvider requires that a refresh message is sent prior to update messages.
RemoveItemsOnDisconnect
UInt64
1
Specifies whether the Enterprise Message API removes items from its internal hash table whenever it disconnects from the LSEG Real-Time Advanced Distribution Hub. Possible values include:
1 (true)
0 (false)
RequestTimeout
UInt64
15000
Specifies the length of time (in milliseconds) the OmmNiProvider waits for a response to a request before sending another request. The DICTIONARY domain will not send another request.
If set to 0, the Message API waits for a response indefinitely.
SendJsonConvError
UInt64
0
Set the RWF/JSON conversion to send back to the consumer conversion error in case it occurs. Possible values are:
0 (false): Do not send conversion error.
1 (true): Send conversion error.
ServiceCountHint
UInt64
513
Sets the size of directory structures for managing services. If the application specifies 0, the Enterprise Message API resets it to 513.
ShouldInitializeCPUIDlib
UInt64
1
Specifies whether the Enterprise Message API configures low level Enterprise Transport API to initialize CpuId library (default behavior), or not.
Possible values are:
0 (false): ETA should not initialize CpuId library.
1 (true): ETA should initialize CpuId library.
For further details, refer to the Transport API C Edition Developers Guide.
XmlTraceDump
UInt64
0
Sets the Enterprise Message API to trace dump RWF messages after converting them from JSON messages. Possible values are:
0 (false): Do not trace dump data.
1 (true): Trace dump data.
XmlTraceFileName
EmaString
EmaTrace
Sets the name of the file to which to write XML trace output if tracing is selected.
XmlTraceHex
UInt64
0
Sets whether to print incoming and outgoing messages in hexadecimal format. Possible values are:
0 (false): Do not print messages in hexadecimal format.
1 (true): Print messages in hexadecimal format.
XmlTraceMaxFileSize
UInt64
100000000
Specifies the maximum size (in bytes) for the trace file.
XmlTracePing
UInt64
0
Sets the Enterprise Message API to trace incoming and outgoing ping messages. Possible values are:
0 (false): Do not trace ping messages.
1 (true): Trace ping messages.
XmlTracePingOnly
UInt64
0
Sets the Enterprise Message API to trace incoming and outgoing ping messages. Allows to trace pure ping messages without any other trace data. Possible values are:
0 (false): Do not trace ping messages.
1 (true): Trace ping messages.
XmlTraceRead
UInt64
1
Sets the Enterprise Message API to trace incoming data. Possible values are:
0 (false): Do not trace incoming data.
1 (true): Trace incoming data
XmlTraceToFile
UInt64
0
Sets whether the Enterprise Message API traces its messages to an XML file whose name is set by XmlTraceFileName. Possible values are:
0 (false): Turns off tracing.
1 (true): Turns on tracing to an XML file.
XmlTraceToMultipleFiles
UInt64
0
Specifies whether to write the XML trace to multiple files. Possible values are:
1 (true): the Enterprise Message API writes the XML trace to a new file if the current file size reaches the XmlTraceMaxFileSize.
0 (false): the Enterprise Message API stops writing the XML trace if the current file reaches the XmlTraceMaxFileSize.
XmlTraceToStdout
UInt64
0
Specifies whether the Enterprise Message API traces its messages in XML format to stdout. Possible values are:
0 (false): Turns off tracing.
1 (true): Turns on tracing to stdout.
XmlTraceWrite
UInt64
1
Sets the Enterprise Message API to trace outgoing data. Possible values are:
0 (false): Do not trace outgoing data.
1 (true): Trace outgoing data.