@Cerogil, Wrote:
1) It looks like the only functional difference between onEndOfSnapshot and OnSnapshotEnd (Lightstreamer .NET Client version) is the removal of itemPos. Is this correct? Do they essentailly provide the same functionality?
Yes.
About
itemPos, it is always supplied; in some overloads the item name is not available.
@Cerogil, Wrote:
2) The onEndOfSnapshot (using COMMAND) only seems to trigger when a client first makes a connection to Lightstreamer. If it is a new subscription, it triggers before any of the items are sent. If it the subsciption is being reused, it triggers after all of the items are sent. This is because the snapshot is only data that has accumulated before subscription time, yes?
As you correctly point out, the snapshot is only data that has accumulated before subscription time.
However, the Data Adapter, upon subscription, can initially send some events and declare them as part of the snapshot, by leveraging the
isSnapshotflag in
update or
smartUpdate. This is probably not the case with your Data Adapter.
@Cerogil, Wrote:
3) So is there a way to tell when all of the items an adapter is passing to a client have been recieved? The onEndOfSnapshot seems to work ONLY if the subscription had already been made and only on init (not for any updates). This answer was unclear from the previous post since a two level push was used and this is just referring to the 'one level push'. An alternative would seem to be to have Lightstreamer send the number of upcoming pushes beforehand and then do a count on the client side.
If, by saying "when all of the items an adapter is passing to a client have been recieved" you still refer to the snapshot, then the previous point gives you the answer.
If you refer to a custom set of keys that are expected to come as real-time updates, then the notification of the set completion can only be handled at application level.