Hi Doraintech,
Sorry for the misunderstanding, updates received from the Adapter with isSnapshot flag set to true are turned in regular update only if the isSnapshotAvailable return false (or the server has already determined the EndOfSnapshot).
To recap, when the Item is subscribed for the first time the Lightstreamer server calls the Adapter for isSnapshotAvailable; if the reply is false:
- the server assumes empty snapshot, and EndOfSnapshot is immediately determined;
- all subsequent updates, regardless of the value of the isSnapshot flag true or false, are considered as regular.
If the reply is true:
- the server expects one or more updates with isSnapshot flag set to true, that make up the initial image of the Item;
- the Snapshot completion can be inferred by the endOfSnapshot call or from the first update with isSnapshot flag set to false.
- from this moment all the updates are considered regular.
For all subsequent subscriptions the server does not ask anything about the snapshot to the Adapter, but relies on its in-memory image.
Now in your case, it is very strange that if your isSnapshotAvailable implementation always return true, you do not get the expected behavior.
There is probably something wrong with the code, please could you confirm that there is in your code something like this;
[SYNTAX=JS]var isSnapshotAvailable = function( itemName ){ return true };
var dataProvider = new DataProvider(reqRespStream, notifyStream, isSnapshotAvailable);[/SYNTAX]
Alternatively you can set this log level, to check the interations between the server and the Adpaters:
<logger name="LightstreamerProxyAdapters" level="DEBUG">
Regards,
Giuseppe