From: <krk...@gm...> - 2013-05-15 00:37:21
|
<div dir="ltr">On Tue, May 14, 2013 at 7:38 AM, Eloy Paris <span dir="ltr"><<a href="mailto:pe...@ch..." target="_blank">pe...@ch...</a>></span> wrote:<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> 08:19:17 and 09:59:44 are examples.<br></blockquote><div><br></div><div>OK 09:54:44 first. To start I see three messages received all at the same time, 2 AllLink_Broadcasts and 1 Cleanup_Direct. </div><div>- The first AllLink_Broadcast is processed correctly</div> <div>- The second AllLink_Broadcast is actually silently dropped by Insteon_PLM around line 600. It will drop identical (including hop counts) messages that are received in the same pass. (I had forgotten this was in there).</div> <div>- The Cleanup_Direct message is then processed. As we discussed before, because it is the same pass, the set_receive loop is called again. </div><div><br></div><div>A subsequent Cleanup_Direct message is received, this is caught as a duplicate and is "deferred".</div> <div><br></div><div>I tested it out, and multiple calls to set_receive in the same pass will cause a tied_event to fire multiple times. So it looks like we need to prevent this. It should be relatively easy, we can add a check to see if state is equal to state_final. </div> <div><br></div><div>This coding oversight is actually carried through multiple places in the code. The duplicate should have been caught by three separate processes, but it escape all of them for the same reason. </div> <div><br></div><div>The messages in the <span style="font-size:13px;font-family:monospace">08:19:17 </span>section are identical in how they are processed.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> By the way, is it normal for the debugging level 4 message decoder to only decode the first message in a string of messages passed to us by the PLM? (The 09:59:44 example I mention above shows this.)<br></blockquote><div> <br></div><div>Yes, this is a limitation in the current design.</div></div></div></div> |