<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/4.2.2">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#ffffff">
Hello Emmanuel, Rahul,<BR>
<BR>
Thanks for the info. I'll take a look into it and the patch,<BR>
<BR>
Best Regards,<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
    <FONT SIZE="2">Hi,</FONT><BR>
    <BR>
    <BR>
    <FONT SIZE="2">I confirm that what Rahul faced is exactly the same as I face.</FONT><BR>
    <FONT SIZE="2">The easiest way to reproduce is to send "big" amount of data (> 32K). In such situation, the TCP window of the socket is full and a fragment will be received after multiple call to recv on the socket.</FONT><BR>
    <FONT SIZE="2">This leads to multiple call of nopoll_conn_get_msg and in particular, for the last fragment where is_final is set for each call of nopoll_conn_get_msg</FONT><BR>
    <BR>
    <FONT SIZE="2">I don't see any problem that nopoll_conn_get_msg does not match exact web socket level fragmentation.</FONT><BR>
    <FONT SIZE="2">The only problem is to be sure to detect end of transfer, which is not possible in this situation</FONT><BR>
    <BR>
    <FONT SIZE="2">In the code, has_fin and is_fragment are reflecting the web socket state but not no_poll abstraction. This is the case for fragment (cf nopoll_msg_is_fragment), may be the case for fin, what explains my (very) simple patch.</FONT><BR>
    <BR>
    <BR>
    <FONT SIZE="2">NB: you may also reproduce the issue with a "slow" connection</FONT><BR>
    <FONT SIZE="2">I often use nodejs + websocket plugin to test my code</FONT><BR>
    <BR>
    <BR>
<PRE>
Best regards,

_______________________________________________
noPoll mailing list
<A HREF="mailto:noPoll@lists.aspl.es">noPoll@lists.aspl.es</A>
<A HREF="http://lists.aspl.es/cgi-bin/mailman/listinfo/nopoll">http://lists.aspl.es/cgi-bin/mailman/listinfo/nopoll</A>
</PRE>
</BLOCKQUOTE>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
-- 
Francis Brosnan Blázquez  -  ASPL
<A HREF="http://www.asplhosting.com/">http://www.asplhosting.com/</A>
<A HREF="http://www.aspl.es/">http://www.aspl.es/</A>
<A HREF="https://twitter.com/aspl_es">https://twitter.com/aspl_es</A>
<A HREF="https://twitter.com/asplhosting">https://twitter.com/asplhosting</A>
<A HREF="https://twitter.com/francisbrosnanb">https://twitter.com/francisbrosnanb</A>
<A HREF="https://es.linkedin.com/in/francis-brosnan-bl">https://es.linkedin.com/in/francis-brosnan-bl</A>ázquez-1353a218

91 134 14 22 - 91 134 14 45 - 91 116 07 57

AVISO LEGAL
 
En virtud de lo dispuesto en la Ley Orgánica 15/1999, de 13 de
diciembre, de Protección de Datos de Carácter Personal, le informamos de
que sus datos de carácter personal, recogidos de fuentes accesibles al
público o datos que usted nos ha facilitado previamente, proceden de
bases de datos propiedad de Advanced Software Production Line, S.L.
(ASPL).
 
ASPL garantiza que los datos serán tratados con la finalidad de mantener
las oportunas relaciones comerciales o promocionales con usted o la
entidad que usted representa. No obstante, usted puede ejercitar sus
derechos de acceso, rectificación, cancelación y oposición dispuestos en
la mencionada Ley Orgánica, notificándolo por escrito a ASPL -
Protección Datos, C/Antonio Suárez 10 A-102, 28802, Alcalá de Henares
(Madrid).

</PRE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>