On Sat, Oct 15, 2016 at 3:59 PM, Guido Medina <oxyg...@gmail.com> wrote:

> Maybe I misunderstood what I saw in the code, I saw 10 (not sure) places
> where ConcurentLinkedQueue was used, one of them was for the connections
> which for this case wouldn't make a difference.
>

Most of those lists are used to manage new session to be created, flushed
or deleted. This is because we usually have one acceptor processing
incoming connections, and dispatching them to various IoProcesser,
responsible for the further processing.



> The other place are for handling the received frame/message? Am I correct
> here? that's where I believe it would make a difference, where a single
> connection can have potentially hundreds of frames to be "handled" (by a
> handler)
>

Not sure what you mean by 'frame'.



>
> Isn't that a good place to introduce MpSc? if such place has 1 consumer
> thread pulling from such queue and then delegating to a handler.
>

The IoProcessor is the thread that get the messages (and it's not 'polling'
them, it's an event-driven system) and propagate them to the handler.

Reply via email to