-
February 3rd, 2011, 11:51 PM
#1
How does lightstreamer handle pusing data to
We have an thick client application that makes use of the >.net client API. We also have a number of custom Data Adapters which support a number of different subscriptions (modes)...COMMAND, MERGE and RAW. We are working with the Presto version of Lightstreamer.
I was under the impression that if a Data Adapter pushed an update and that update was idential to what Lightstreamer had previuosly pushed last (i.e. had cached) to its subscribed clients, that the lightstreamer would not push that data again to its clients. We are not seeing this. What am I missing (what is the correct behavior).
For this discussion we are operatering in Command mode.
here are log files collected on our clients....
2/1/2011 6:10 PM SASVO COMMAND ADD 1 of 1 1 [ 1, ADD, SASVO, 1, 1, 100, 1, SAS TEST OBJECT 1, This is a SAS test object., User Id Field 1, User Name Field One, 10, Test SAS ORG Name One., 2/1/2011 6:10:29 PM, 2/1/2011 11:10:29 PM, 1.00:00:00, 500, , , , , , , , , , , 2/1/2011 6:10:29 PM ]
2/1/2011 6:13 PM SASVO COMMAND UPDATE 1 of 1 1 [ (1), (UPDATE), (SASVO), (1), (1), (100), 3, (SAS TEST OBJECT 1), (This is a SAS test object.), (User Id Field 1), (User Name Field One), (10), (Test SAS ORG Name One.), (2/1/2011 6:10:29 PM), (2/1/2011 11:10:29 PM), (1.00:00:00), (500), (), (), (), (), (), (), (), (), (), (), 2/1/2011 6:13:29 PM ]
Forcing Data Adapter to push the same data (used debugger)
2/1/2011 6:13 PM SASVO COMMAND UPDATE 1 of 1 1 [ (1), (UPDATE), (SASVO), (1), (1), (100), (3), (SAS TEST OBJECT 1), (This is a SAS test object.), (User Id Field 1), (User Name Field One), (10), (Test SAS ORG Name One.), (2/1/2011 6:10:29 PM), (2/1/2011 11:10:29 PM), (1.00:00:00), (500), (), (), (), (), (), (), (), (), (), (), (2/1/2011 6:13:29 PM) ]
Forcing Data Adapter to push the same data (used debugger)
2/1/2011 6:13 PM SASVO COMMAND UPDATE 1 of 1 1 [ (1), (UPDATE), (SASVO), (1), (1), (100), (3), (SAS TEST OBJECT 1), (This is a SAS test object.), (User Id Field 1), (User Name Field One), (10), (Test SAS ORG Name One.), (2/1/2011 6:10:29 PM), (2/1/2011 11:10:29 PM), (1.00:00:00), (500), (), (), (), (), (), (), (), (), (), (), (2/1/2011 6:13:29 PM) ]
-
February 4th, 2011, 10:05 AM
#2
Actually, Lightstreamer Server avoids sending a field value if the value is the same as the latest value sent to the client.
The check is at field level; you may expect a similar check at update level,
so that the Server could avoid sending an update entirely made of unchanged values.
However, the latter check is only performed for items in MERGE mode.
Note that the check cannot be done in RAW and DISTINCT mode, where the update meaning is different and it does not allow that.
In COMMAND mode, the check could be done for subsequent UPDATE events for the same key, but we considered the case of identical updates as rare and decided to save the check instead.
Note that the compression mechanism in COMMAND mode is already limited, because it is performed only between subsequent updates for the same item, not restricted to the same key.
-
November 15th, 2011, 10:03 AM
#3
Same value push using lightstreamer
Hi,
Light streamer server will not push the sane message to client again if there is no change in value.
How would I setup our adapter so that it will push each message to the client even if there is no change in value.
Manish
-
November 16th, 2011, 09:42 AM
#4
According to my previous post, I must assume you are using MERGE mode.
If you need that all updates are forwarded, then you have to explicitly request this by asking (for the HTML case)
myTable.setRequestedMaxFrequency("unfiltered");
But note that this assumes that the average inbound update rate for the item is sustainable (for instance, if you are using Lightstreamer Moderato, the outbound update rate is limited to 1 update per second, so the inbound average rate should be lower).
Other options which still allow filtering in extreme cases are:
- moving to DISTINCT mode (this may require a few changes, that we could discuss, if needed);
- adding a counter field to your item, incremented by the Data Adapter upon each update, to make all updates different; note that the client will have to include this field in its subscription.
Similar Threads
-
By vnipt in forum General
Replies: 3
Last Post: November 14th, 2011, 09:33 AM
-
By Cerogil in forum Client SDKs
Replies: 3
Last Post: September 27th, 2011, 08:56 AM
-
By lwyic in forum General
Replies: 1
Last Post: July 28th, 2010, 10:15 AM
-
By GoatHunter in forum Adapter SDKs
Replies: 3
Last Post: January 8th, 2010, 11:28 AM
-
By dianacastillo in forum General
Replies: 5
Last Post: April 15th, 2008, 11:55 AM
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
All times are GMT +1. The time now is 06:38 AM.
Bookmarks