Re: MINA vs a NIO based protocol stack

2020-04-14 Thread Jonathan Valliere
Deals with fragmentation?  UDP fragmentation is handled in the kernel.

On Tue, Apr 14, 2020 at 9:19 AM Emmanuel Lécharny 
wrote:

>
> On 14/04/2020 14:31, Simha N wrote:
> > Hi,
> >
> > I am evaluating MINA for development of Java based networking clients
> based
> > on protocols such as SNMP and Netconf.
> >
> > Protocol stacks are available for these protocols. Some of the stacks are
> > based on Java NIO (example: SNMP4J) and some are not based on Java NIO
> > (Example: JoeSNMP and JNC).
> >
> > In order to develop a networking client using MINA, Application developer
> > shall write a Codec by implementing the interface ProtocolDecoderAdapter
> > for each protocol. Application developer has to understand chosen
> protocol
> > stack API well to write the codec. This needs good amount of protocol
> > knowledge.
> >
> > If my protocol stack is based on Java BIO (not a NIO), then I see a valid
> > reason to move to MINA to get performance gain in spite effort needed to
> > writing codec.
> >
> > But, if my protocol stack is based on Java NIO, what is the advantage of
> > using MINA? Does it bring in any performance gain?
>
> Simplicity. It alleviates you from dealing of all the burden of managing
> the Selector on your own. You just end with dealing with events like
> 'messageReceived' or 'messageSent', plus the few session management
> messages (sessionOpened, sessionClosed, etc)
>
> It also deals with fragmentation, which is quite a relief.
>
> It won't bring you any performance, because you are adding a stack on
> top of NIO.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@mina.apache.org
> For additional commands, e-mail: users-h...@mina.apache.org
>
>


Re: MINA vs a NIO based protocol stack

2020-04-14 Thread Emmanuel Lécharny



On 14/04/2020 14:31, Simha N wrote:

Hi,

I am evaluating MINA for development of Java based networking clients based
on protocols such as SNMP and Netconf.

Protocol stacks are available for these protocols. Some of the stacks are
based on Java NIO (example: SNMP4J) and some are not based on Java NIO
(Example: JoeSNMP and JNC).

In order to develop a networking client using MINA, Application developer
shall write a Codec by implementing the interface ProtocolDecoderAdapter
for each protocol. Application developer has to understand chosen protocol
stack API well to write the codec. This needs good amount of protocol
knowledge.

If my protocol stack is based on Java BIO (not a NIO), then I see a valid
reason to move to MINA to get performance gain in spite effort needed to
writing codec.

But, if my protocol stack is based on Java NIO, what is the advantage of
using MINA? Does it bring in any performance gain?


Simplicity. It alleviates you from dealing of all the burden of managing 
the Selector on your own. You just end with dealing with events like 
'messageReceived' or 'messageSent', plus the few session management 
messages (sessionOpened, sessionClosed, etc)


It also deals with fragmentation, which is quite a relief.

It won't bring you any performance, because you are adding a stack on 
top of NIO.


-
To unsubscribe, e-mail: users-unsubscr...@mina.apache.org
For additional commands, e-mail: users-h...@mina.apache.org



MINA vs a NIO based protocol stack

2020-04-14 Thread Simha N
Hi,

I am evaluating MINA for development of Java based networking clients based
on protocols such as SNMP and Netconf.

Protocol stacks are available for these protocols. Some of the stacks are
based on Java NIO (example: SNMP4J) and some are not based on Java NIO
(Example: JoeSNMP and JNC).

In order to develop a networking client using MINA, Application developer
shall write a Codec by implementing the interface ProtocolDecoderAdapter
for each protocol. Application developer has to understand chosen protocol
stack API well to write the codec. This needs good amount of protocol
knowledge.

If my protocol stack is based on Java BIO (not a NIO), then I see a valid
reason to move to MINA to get performance gain in spite effort needed to
writing codec.

But, if my protocol stack is based on Java NIO, what is the advantage of
using MINA? Does it bring in any performance gain?

Please comment.

-- 
Regards, Narasimha