<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Sun, 15 May 2016 at 00:05 Andy Green <<a href="mailto:andy@warmcat.com">andy@warmcat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>> >request Server Close button DOES work (debugging shows my handler<br>
>> >receives<br>
>> >the message, but it never receives a reset\n message when I press<br>
>the<br>
<br>
That's pretty confusing actually, if I understood it both buttons send something but only one makes it to the RECEIVE.  And both those cases are dumb-increment (close test reuses a second dumb increment connection).</blockquote><div><br></div><div>I think I inadvertently left tact in from an older message in this thread.</div><div>Both reset and closeme requests reach my server.  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span style="line-height:1.5"> </span><br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think it'd be interesting to check with tcpdump -s0 -X what happened on the wire.<br></blockquote><div><br></div><div>That was a useful tip. As a result, I have now got lws_write working correctly (just a silly error on my part). </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
>issuing an lws_close_reason, but that too isn't working. No doubt these<br>
>two<br>
>facts are closely related.<br>
<br>
Yeah it's related to lws_write() again.<br></blockquote><div><br></div><div>Apparently not, as that works now, but lws_close_reason does not.</div><div> </div><div>I added the following statement at the beginning of lws_close_reason:</div><div><br></div><div>printf ("Status is %i, message is %s, length is %u\n", status, buf, (unsigned int) len);<br></div><div><br></div><div>and I get identical output from both the distributed C example, and my idris version.</div><div><br></div><div>I'm suspecting it's due to being on a second connection. One thing I DO see that is different between the output of the two implementations (not related to lws_close_reason, apparently, as it occurs before that, but might give me a clue), is the following. Your C implementation puts out the following lines:</div><div><br></div><div><div>lwsts[10999]:  permessage-deflate requires the protocol (dumb-increment-protocol) to have an RX buffer >= 128</div><div>lwsts[10999]: ext permessage-deflate failed construction</div><div>lwsts[10999]:  Capping pmd rx to 128</div><div>lwsts[10999]: cache_len 313</div><div>lwsts[10999]:  Capping pmd rx to 128</div></div><div><br></div><div>But when I run my implementation, I only see the first two lines, not the last three (same debug level). Are those last three lines relating to the other plugins (I've only tried implementing the dumb-increment one so far - one step at a time)?</div></div></div>