EMA C++ Configuration Guide : 3 Configuration Groups : 3.2 IProvider Group : 3.2.4 IProvider Entry Parameters
 
3.2.4 IProvider Entry Parameters
Use the following parameters when configuring an IProvider.
 
Table 5: IProviderGroup Parameters  
Parameter
Type
Default
Description
AcceptDirMessageWithoutMinFilters
UInt64
0
Sets the IProvider to accept incoming directory request messages without the minimum required INFO and STATE directory filters. Possible values are:
0 (false): The IProvider will not accept incoming directory messages that do not contain the minimum required INFO and STATE filters.
1 (true): The IProvider will accept incoming directory messages that do not contain the minimum required INFO and STATE filters.
AcceptMessageSameKeyButDiffStream
UInt64
0
Sets the IProvider to accept incoming request messages even though they have a message key, domain, and private stream flag that match those of an existing request which uses a different stream ID. Possible values are:
0 (false): The IProvider will not accept incoming request messages that match an existing request with a different stream ID.
1 (true): The IProvider will accept incoming request messages that match an existing request with a different stream ID.
AcceptMessageThatChangesService
UInt64
0
Sets the IProvider to accept incoming consumer request messages on existing item stream that specify a different service name than the currently requested stream's service. Possible values are:
0 (false): The IProvider will not accept incoming request messages on an existing item stream that specify a different service.
1 (true): The IProvider will accept incoming request messages on an existing item stream that specify a different service.
AcceptMessageWithoutAcceptingRequests
UInt64
0
Sets the IProvider to accept incoming request messages even though the source directory is not accepting requests.
AcceptMessageWithoutBeingLogin
UInt64
0
Sets the IProvider to accept incoming request messages even though the interactive provider has not accepted a login request.
AcceptMessageWithoutQosInRange
UInt64
0
Sets the IProvider to accept incoming request messages even though the requesting QoS is not in the QoS range of the source directory.
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. Possible 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.
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 IProvider 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.
EnforceAckIDValidation
UInt64
0
Specifies whether IProvider has to validate the AckId attribute when an AckMsg calls OmmIProvider::submit(). If validation is turned on, then AckId must be equal to the PostId of PostMsg received by the IProvider.
Available values include:
1 (true): Validate the AckId.
0 (false): Do not validate the AckId.
EnumTypeFragmentSize
UInt64
12288
Sets the maximum fragmentation size (in bytes) of enumerated types dictionary multi-part refresh messages.
FieldDictionaryFragmentSize
UInt64
8192
Sets the maximum fragmentation size (in bytes) of field dictionary multi-part refresh messages.
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 Provider 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.
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 OmmIProvider::dispatch().
Name
EmaString
N/A
Specifies the name of this IProvider component. Name is required when creating an IProvider 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
See Description
Specifies the internal communication port. You might need to adjust this port if it conflicts with other processes on the machine.
NiProvider uses a default of 9001.
IProvider uses a default of 9002.
RefreshFirstRequired
UInt64
1
Specifies whether the Enterprise Message API requires the application to send a refresh message prior to sending update messages. Available values include:
1 (true): The IProvider does not require that a refresh message is sent prior to update messages.
0 (false): The IProvider requires that a refresh message is sent prior to update messages.
RequestTimeout
UInt64
15000
Specifies the length of time (in milliseconds) the OmmIProvider 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.
Server
EmaString
N/A
Specifies the channel that the IProvider component should use. This channel must match the Name parameter from the appropriate <Server> entry in the ServerGroup configuration.
If Server is not specified, the Enterprise Message API resorts to default channel behavior when needed. For further details on the <Server> entry and default behaviors, refer to Section 3.7.
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. Available 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.