On Mon, 2010-10-11 at 14:19 +0200, Emmanuel Lécharny wrote: ...
> We have removed the IoHandler class from MINA 3.0 code. That's a first > step toward a more generic approach. > >> One other difference is that we process the read and write parts into > >> the main loop (in IoProcessor), something you want to handle directly. > >> > >> If we remove this processing from the IoProcessor, and move it to be a > >> Filter (ReadFilter, WriteFilter), then it becomes to be very similar to > >> what you want : either we add those filters in the chain, and the > >> application does not have to deal with the read/write operation (buffer > >> creation and such, queues...), or we let the application to deal with this. > >> > >> That might work. Still have to think more about the impact on MINA (I > >> would hate asking MINA users to inject those filters manually. But this > >> can be the default chain, and we can define another chain without those > >> filters) > >> > >> > > I see no good reason why an I/O framework could not support both modes > > equally well or even have a filter pipeline run on top of a Channel > > based I/O reactor. > I agree. However, we don't have an event like 'readyToWrite' to inform > the application that the channel is ready to accept some more write > peration. We have to refactor this part, one possible solution would be > to let the user determinate the queue size : if it's zero, then he has a > direct access to the channel, with all the needed control over it. > > If you are willing to invest some time into exploring the possibility of > > exposing the lower level machinery of MINA through a public interface of > > some sort, I would also happily do my bit by helping debug the code and > > by contributing a test suite for it. > Work in progress :) As we support many different kind of transports > (Nio, Apr, VmPipe, Serial and potentially plain IO), we would like to > have a common approach for all those transports. That might lead to > major refactoring in MINA code (in fact, we think that MINA 3 will be a > complete rewrite). > > Don't expect that we will be ready anytime soon :/ I'll be lurking on the list, but please do feel free to ping me directly as soon as you have something you would like me to start looking at. Cheers Oleg
