Aww shucks :/

Out of curiosity, how does the _push method on the Cryptostream prototype 
know where one message ends and the other begins?

It seems to me that the while/do loop continues to call _pusher (which 
calls SSL_read under the hood) until either the buffer is all used up or 
the SSL_read function can't read anything (it returns -1). Then it'll emit 
a data event only if it has actually read a non-negative number of bytes.

When I was debugging, it occurred to me that maybe the data was coming in 
slowly in chunks so that after it had read the first one or two chunks from 
SSL_read, the next tick of the while loop fired so quickly that it returned 
-1 before the next chunk of data had reached the C buffer. Then it emitted 
this first part of the data as if it were its own isolated grouping. Is 
this possible?

On Sunday, October 7, 2012 4:59:57 PM UTC-4, Ben Noordhuis wrote:
>
> On Sun, Oct 7, 2012 at 2:50 AM, Justin Meltzer 
> <[email protected]<javascript:>> 
> wrote: 
> > Thanks Ben! 
> > 
> > Patch[1] gets rid of the "data length too long" error, and is better 
> than 
> > the hack I did. However, it does not fix the breaking up of data. 
> > 
> > Reverting commit f210530f unfortunately does not prevent the data from 
> being 
> > broken up either. 
> > 
> > Any other ideas? 
>
> I'm afraid not. 
>
> I can land a patch that turns on SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER but 
> I can't tell if the socket.io error is a bug in socket.io or node. 
>
> Try contacting the socket.io authors - if it turns out it's a bug in 
> node, they can forward the bug report to us. 
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to