When does it read more than one message at a time? If there are async methods?

Can you open a JIRA ticket for this and attach a patch if you think you have a solution?

Thanks for taking the time to report this issue!

-Bryan

On Oct 9, 2009, at 9:30 PM, Oliver Kennedy wrote:

The Ruby implentation of NonblockingServer assumes that each socket read places at most one message into the buffer.

Specifically, NonblockingServer::IOManager.read_connection currently has lines that read:

> frame = slice_frame(@buffers[fd])
> if frame
> ....

These lines should instead read:

> while (frame = slice_frame!(@buffers[fd]))
> ...

------------
Oliver Kennedy

We are all agreed that your theory is crazy.  The question
which divides us is whether it is crazy enough to have a
chance of being correct.  My own feeling is that it is not
crazy enough.
                -- Niels Bohr


Reply via email to