Saturday, February 20, 2010

WxEmwin - Pauses between packets - Revisited

Well sometimes you have to backup, punt and admit that you were wrong.  The explanation for pauses between some EMWIN Internet packets was a good definition.  It does happen as I explained in the previous post. 

The user that asked the question later sent me an example that I could not explain.  In his case, he was using WxEmwin to ingest an intermittent data stream create on a private network using WxRetran.  He setup WxRetran so that the stream was not sending data constantly like a regular EMWIN stream.  There was no fill file to make the stream constant.

After some research I found a problem in the buffering routines in WxEmwin.  When WxEmwin received a version 2 (compressed) packet, it kept that packet in the buffer until the next packet arrived or enough packets arrived to exceed the buffer processing point.  Once I saw it happen, I knew exactly what was causing the problem.

This issue would not really be noticed by regular EMWIN users.  When I added the option to disable/enable the version 2 (compressed) packet option to the program, the user changed the setting and noticed that the program no longer held packets in the buffer.  He just had to convince me that there was a problem.

So --- there was a good post about pauses between packets -- which lead to a real problem that was resolved in the last beta.

No comments: