Hello,
Are you using the MERGE subscription mode right?
The problem is that since the updates are all published on the same item, Lightstreamer merges the updates if needed:
08.May.07 09:02:05,934 <TRACE> INCOMING DATA for rates --> {bidValue=0.07943651574153077, sellCCY=USD, bidCCY=EUR, sellValue=0.19836981819406774}
08.May.07 09:02:05,935 <TRACE> INCOMING DATA for rates --> {bidValue=0.04185744998798879, sellCCY=JPY, bidCCY=EUR, sellValue=0.002155323147410959}
08.May.07 09:02:05,936 <TRACE> INCOMING DATA for rates --> {bidValue=0.9033005599346077, sellCCY=USD, bidCCY=JPY, sellValue=0.3281485803285823}
08.May.07 09:02:05,937 <TRACE> INCOMING DATA for rates --> {bidValue=0.947976333651295, sellCCY=GBP, bidCCY=EUR, sellValue=0.38439026792729647}
08.May.07 09:02:06,044 <TRACE> INCOMING DATA for rates --> {bidValue=0.9040453255654483, sellCCY=USD, bidCCY=EUR, sellValue=0.9458336664422791}
08.May.07 09:02:06,045 <TRACE> INCOMING DATA for rates --> {bidValue=0.9708380297991672, sellCCY=GBP, bidCCY=EUR, sellValue=0.215475738803115}
08.May.07 09:02:06,134 <TRACE> Pumping event in session S1321751661N1: 1,1,1||0.9708380297991672||0.215475738803115
In the example 6 updates arrives to the server but only one is forwarded to the clients.
If yoo take a look at the timings of the "Pumping in Session" messages you will see a 200ms pattern:
09:02:05,537
09:02:05,734
09:02:05,934
09:02:06,134
and so on...
Those 200ms are set in the Lightstreamer_conf.xml file:
[highlight=xml]
<max_delay_millis>200</max_delay_millis>
What appens is that Lightstreamer is enabled to send just one packet each 200ms (this is a session related delay) unless there is too much data to be sent in one single packet (due to frequency limits bandwidth limits etc this is just a simple explanation of the delivering algorithm). Btw since you publish every update to the same item, after 200ms from the last "Pumping event in session" - from Lightstreamer point of view - there is only one relevant update that must be sent (the latest).
@churrusco, Wrote: So I guess I should create a channel per currency pair.
This is indeed a good idea.
@churrusco, Wrote: does this mean more sockets open?
The socket is always the same as Lightstreamer protocol take care of handling more items on the same data flow
@churrusco, Wrote: does this mean more bandwidth usage?
Obviously more bandwidth will be used if more updates reach the client, btw you can limit the bandwidth both client and server side.