Hi all, (sorry for some bad english, but I try)
To continue on this thread :

On 2) ThreadPool. I am also in the same context than Raj.
That is I have two kinds of clients:
a) one shot client : many of them (10 000) may run but with
 one connexion/exchange of one file (many messages)/deconnexion
b) long term client : few of them (less than 100) may run but
 with lon term connexion (many exchange of files or orders)

So I have both problem, also from the client point of vue.
So one more question : is there a specific aspect for threadpool
according to the client aspect ? Or do we just need to take
this problem outside MINA for the client point of vue ?

The question is still open for the server part of course.

On 3) Memory :
I try a long term session with client, and it appears that memory
is better handled in this case for the client (about the same
memory both in client and server part).
But if I used short term client, but with many connexion in one
running java program, then the memory of the client is really
growing in proportion very different than the server.
The difference is only the number of new sessions for the client.

Is there a way to be sure that this memory is released when the session
is closed for the client ?
At the time writting, the memory isn't released correctly for the client
with many sessions (sequentially created and closed).

On 4) Close feature :
I implement the following spirit in my business logic :
- when I start a session, I set up a lock (java.concurrent).
- when I send the last message (or received the last message),
I unlock this lock and then waiting for all pending
messages to be send in this session (using the
IoSession.getScheduledWriteRequest to return 0).

I am feeling that the IoSession.close() should at least
waiting that IoSession.getScheduledWriteRequest should return 0
in order to close correctly the session.
At least, the join() on the closefuture should wait on this,
but it depends on the meaning of the join() feature.
What do you think ?

At the time speaking, I am able to send/receive (client and server
on the same laptop) about 21K of file in 20 ms (using 1K buffer).
I know the buffer is small, but is just for testing, and the speed
is already here, so I am quite happy.

On 1) (serialization) My questions are still open of course.

Frederic

Reply via email to