| {object} | options options for the engine |
| {string} | options.dataFilePath path to the datafile |
| {boolean} | options.autoUpdate whether the datafile should be registered with the data file update service |
| {number} | options.pollingInterval How often to poll for updates to the datafile (minutes) |
| {number} | options.updateTimeMaximumRandomisation Maximum randomisation offset in seconds to polling time interval |
| {DataKeyedCache} | options.cache an instance of the Cache class from Fiftyone.Pipeline.Engines. NOTE: This is no longer supported for on-premise engine. |
| {string} | options.dataUpdateUrl base url for the datafile update service |
| {boolean} | options.dataUpdateVerifyMd5 whether to check MD5 of datafile |
| {boolean} | options.dataUpdateUseUrlFormatter whether to append default URL params for Data File download |
| {Array<string>} | options.restrictedProperties list of properties the engine will be restricted to |
| {string} | options.licenceKeys license key(s) used by the data file update service. A key can be obtained from the 51Degrees website: /pricing?utm_source=code&utm_medium=comment&utm_campaign=51degrees-node&utm_content=fiftyone.devicedetection.onpremise-devicedetectiononpremise.js&utm_term=constructor. If you do not wish to use a key then you can specify an empty string, but this will cause automatic updates to be disabled. |
| {boolean} | options.download whether to download the datafile or store it in memory |
| {string} | options.performanceProfile options are: LowMemory, MaxPerformance, Balanced, BalancedTemp, HighPerformance. Balanced by default, as in the native code. |
| {boolean} | options.fileSystemWatcher whether to monitor the datafile path for changes |
| {number} | options.concurrency defaults to the number of cpus in the machine |
| {boolean} | options.reuseTempFile Indicates that an existing temp file may be used. This should be selected if multiple instances wish to use the same file to prevent high disk usage. |
| {boolean} | [options.updateMatchedUserAgent] True if the detection should record the matched characters from the target User-Agent, which the UserAgents property returns. On by default, as the native code sets it. Set it to false where UserAgents is not needed, which saves recording the characters. |
| {number} | options.maxMatchedUserAgentLength Number of characters to consider in the matched User-Agent. Ignored if updateMatchedUserAgent is false |
| {number} | options.drift Set maximum drift in hash position to allow when processing HTTP headers. |
| {number} | options.difference Set the maximum difference to allow when processing HTTP headers. The difference is the difference in hash value between the hash that was found, and the hash that is being searched for. By default this is 0. |
| {boolean} | options.allowUnmatched True if there should be at least one matched node in order for the results to be considered valid. By default, this is false |
| {boolean} | options.createTempDataCopy If true, the engine will create a copy of the data file in a temporary location rather than using the file provided directly. If not loading all data into memory, this is required for automatic data updates to occur. |
| {string} | options.tempDataDir The directory to use for the temporary data copy if 'createTempDataCopy' is set to true. |
| {boolean} | options.updateOnStart whether to download / update the datafile on initialisation. If there is no file at dataFilePath it is downloaded, and processing fails if the download does not work. |