Hi Emmanuel, What I actually want is to place UDT (i.e., the existing UDT implementation, and its Java wrapper called BarchartUDT) _under_ MINA, and not to implement it on top of MINA. I want it to be side-by-side with TCP and UDP.
For example : I'd be willing to accept a UDTConnector/UDTAcceptor extension to the MINA API, similar to the MINA API for TCP/UDP, and have the UDT library do the transport work for me under MINA. Yes, UDT is based on UDP - it uses plain UDP sockets for data transport, protocol signaling etc. It has an API and semantics very similar to TCP (connection-oriented, stream, reliable). The BarchartUDT wrapper page says : "Barchart-UDT exposes UDT protocol as both java.net.Socket and java.nio.channels.SocketChannel and comes with a java.nio.channels.spi.SelectorProvider." My thinking is: if the BarchartUDT wrapper offers a standard Java interface (nio, as they claim), could it be possible to plug it in MINA as a transport alternative to TCP/UDP ? Of course, I am aware this may be some effort. But would it be possible to start with ? What would be the requirements ? etc. So I'm looking for answers to those questions from inside MINA. Thanks, \Florin -----Original Message----- From: Emmanuel Lécharny [mailto:[email protected]] Sent: Monday, May 14, 2012 4:15 PM To: [email protected] Subject: Re: using different transports with MINA Le 5/14/12 8:02 PM, Florin Sultan a crit : > Hi, Hi, > > > I apologize if this is a recurring query (although I found no definite > answer while browsing the site and the archive). This is the first time such a question is raised here ! > > I guess it would eventually be answered by the missing chapter 6 > titled "Transports" in the user guide. > > > > The question : > > > > I am looking for information on how to make MINA use another transport > underneath (beside TCP/UDP). MINA is based on the underlaying Java Socket API, whch currently support only TCP and UDP. As UDT is built on top of UDP, it can be seen as a protocol layer, not a transport layer. Thus, there is absolutely nothing that forbid you to implement UDT on top of MINA. > > So far I could not find a way to just "configure" MINA, so my guess is > some work needs to be done to integrate a different transport. Certainly. First, you'll have to implement a codec to support the data encapsulating the payload, and you'll have to manage the sessions, as it's a connected protocol. > > So: > > Is there a generic recipe for use/integration of a new transport in MINA? First consider that it's a protocol, not a transport. > > Has anyone done this before ? I have helped implementing LDAP and Kerberos protocols, on top of TCP and UDP (kerberos) > > What are the requirements ? The specificiations :) > > What would be the complexity ? I hav'nt read the protocol yet, so I can't really tell. Depends on the coplexity of the headers, and also the complexity of the protocol itself (how do we handle disconnection, fragmentation, retry, etc) Hope it helps... -- Regards, Cordialement, Emmanuel Lcharny www.iktek.com
