lightstreamer-adapter
Advanced tools
Changelog
[1.7.0] (15 Jul 2023)
Introduced the support for a single stream instead of two for the communication of the Remote Data Adapters. In fact, since Server version 7.4, the Proxy Data Adapter can (and should) be configured to use a single connection for the communication. Hence, the second argument of the DataProvider constructor (notifyStream) has been removed, as well as the getNotifyStream method. Moreover, for clarity, the first argument of the DataProvider constructor (reqRespStream) has been renamed as "stream" and, for consistency, the getReqRespStream method has been renamed as "getStream".
Changed most of the supplied tests in dataprovider.test.js to operate in the new single-stream case. Tests for the double-stream case have been left only where most significant.
Clarified the meaning of a null value for a "clientMessage" property supplied in the "exceptionData" parameter on a "error" invocation when "exceptionType" is "credits": an empty string should be sent to the client. Note that, before 7.4, the Server used to send the "null" string as a placeholder.
Fixed a bug in the interface, as getReqRespStream and getNotifyStream of DataProvider, and getStream of MetadataProvider were erroneously named reqRespStream, notifyStream, and stream, respectively. Note that these getters are provided only for the sake of completeness and, for this reason, they are not expected to be leveraged. Also note that, because of the extensions in the DataProvider class described above, only a getStream method is now provided for this class.
Compatible with Adapter Remoting Infrastructure since Server version 7.4
If an existing Remote Server based on this SDK launches a Remote Data Adapter, it cannot be upgraded to this new SDK version seamlessly. The upgrade will require a change in the code to open a single connection to the Proxy Data Adapter and use the new reduced DataAdapter constructor. This, in turn, will require the configuration of a single port on the Proxy Data Adapter, which is only possible with Lightstreamer Server 7.4 or later. However, if a Remote Server only launches Remote Metadata Adapters, the compatibility with Server version 7.3 is kept.
If a Remote Metadata Adapter supplies a null value for "clientMessage" and relies on the Server sending the "null" string to the clients, now it should supply "null" explicitly.
Changelog
[1.6.0] (20 Sep 2022)
Added a "declareFieldDiffOrder" function to the DataProvider object; this allows for specification, before sending data for fields, of which algorithms, and in which order, the Server should try, in order to compute the difference between a value and the previous one in order to send the client this difference, for "delta delivery" purpose, by leveraging the extensions introduced in Server version 7.3.0. Currently, only the JSONPATCH and DIFF_MATCH_PATCH (used for TLCP-diff) algorithms are available.
Extended the specifications of the "request" argument for the notifyNewSession and notifySessionClose event handlers of the MetadataProvider object. Now the elements of the tableInfos array also provide a dataAdapter property, which specifies the Data Adapter to which tables (i.e. subscriptions) refer.
Similarly, extended the specifications of the "request" argument for the notifyMpnSubscriptionActivation event handler of the MetadataProvider object. Now the tableInfo attribute also provide a dataAdapter property, which specifies the Data Adapter to which the table (i.e. subscription) refers.
Modified the String encoding according to ARI protocol version 1.9.0. This ensures a more efficient transport for almost all messages.
Compatible with Adapter Remoting Infrastructure since Server version 7.3
Changelog
1.5.3 (10 Sep 2021) ##
Introduced full support for Server version 7.2. Now any message sent by the Proxy Adapter when forcibly closing the connection will be available in the 'error' event of the 'net.Socket' object supplied as the request/reply stream.
Modified the behavior when incomplete credentials are configured: now they are sent to the Proxy Adapter, whereas previously they were not sent. Note that, if the Proxy Adapter has credentials configured, they cannot be incomplete; hence the Proxy Adapter is expected to refuse the connection in all cases.
Compatible with Adapter Remoting Infrastructure since Server version 7.0
Changelog
1.5.2 (24 May 2021) ##
Reformulated the compatibility constraint with respect to the Server version, instead of the Adapter Remoting Infrastructure version.
Compatible with Adapter Remoting Infrastructure since Server version 7.0
Changelog
1.5.1 (24 Jan 2020) ##
Extended the constructors of the DataProvider and MetadataProvider classes with settings of credentials, to be sent to the Proxy Adapter upon each connection. Credential check is an optional configuration of the Proxy Adapter; if not leveraged, the credentials will be ignored.
Introduced the handling of keepalive packets to help keeping the connections to the Proxy Adapter alive. This fixes possible incompatibilities with Proxy Adapters configured to perform activity checks. Also furtherly extended the constructors of the DataProvider and MetadataProvider classes to provide keepalive interval settings; however the supplied settings are only meant to restrict the Proxy Adapter requirements, if needed to support intermediate node or to detect connection issues.
Added full support for ARI Protocol extensions introduced in Adapter Remoting Infrastructure version 1.9 (corresponding to Server 7.1).
Compatible with Adapter Remoting Infrastructure since 1.8 (corresponding to Server 7.0)
If Adapter Remoting Infrastructure 1.8.x (corresponding to Server 7.0.x) is used and credentials to be sent to the Proxy Adapter are specified, they will obviously be ignored, but the Proxy Adapter will issue some log messages at WARN level on startup.
Only in the very unlikely case that Adapter Remoting Infrastructure 1.8.x (corresponding to Server 7.0.x) were used and a custom remote parameter named "ARI.version" were defined in adapters.xml, this SDK would not be compatible with Lightstreamer Server, hence the Server should be upgraded (or a different parameter name should be used).
Changelog
1.4.2 (6 Dec 2018) ##
Fixed a bug which prevented instantiation of multiple Data Adapters in the same process, causing a "Unexpected late DPI message" error to be issued.
Compatible with Adapter Remoting Infrastructure since 1.8 (corresponding to Server 7.0)
Changelog
1.4.1 (22 Feb 2018) ##
Added clarifications on licensing matters in the documentation.
Compatible with Adapter Remoting Infrastructure since 1.8 (corresponding to Server 7.0)
Changelog
1.4.0 (19 Dec 2017) ##
Modified the interface in the part related to Mobile Push Notifications, after the full revision of Lightstreamer Server's MPN Module. In particular:
Added notes in the documentation on the implication of the licensing policies.
Compatible with Adapter Remoting Infrastructure since 1.8 (corresponding to Server 7.0)
Changelog
1.3.4 (20 Apr 2017) ##
Fixed the formatting of the README.md page, for which a new version is required.
Compatible with Adapter Remoting Infrastructure since 1.7 (corresponding to Server 6.0)