Hi Aii,

2006/1/19, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
Hi all,

I like to know your professional advice if the following project is
efficient realizable with the current version of mina:

I plan to implement a UDP-based protocol which offers features like flow
control, rate control, ARQ and so on. Therefore, every UDP packet contains a
small header which stores
        1. Flags (1Byte) (e.g. END-Flag, ARQ-Flag, ...),
        2. Message Id (2 Bytes),
        3. Fragment nr. (2 Bytes).

So, with the help of the fragment number a message can be split into several
packets. On server side, the message must be refragmented. Therefore, a
received packet is delegated by it's extractable Virtual Connection Id,
IP:Port:MsgId, to the belonging Message Session, which is responsible for
refragmentation, ARQ, Timeout, etc. With regard to the performance a nearly
zero-copy-concept must be implemented.

Do you think this project is efficient realizable with the current mina
version?

I think so.  We can implement this as a separate transport layer, or as an IoFilter.  But what is the advantage over TCP here?

This protocol is intended for offering a reliable SOAP-Binding based on UDP.
So, a refragmented request message often leads to a response. For sake of
simplicity, each host receives and sends messages using always the same
local UDP port. Can this be achieved with mina? If yes, how?

Yes, you can use a certain UDP port to communicate.  You can specify local port number on the client site if you want to do.

HTH,
Trustin
--
what we call human nature is actually human habit
--
http://gleamynode.net/
PGP Key ID: 0x854B996C

Reply via email to