Archived

This forum has been archived. Please start a new discussion on GitHub.

Support for UDP-based protocols?

Hi,

I am interested in using ICE on top of UDT, a reliable UDP based application level data transport protocol for distributed data intensive applications over wide area high-speed networks. (it is open source)

UDT: Breaking the Data Transfer Bottleneck

How hard would it be to use ICE and UDT?


Thanks very much,

Aaron

Comments

  • matthew
    matthew NL, Canada
    I didn't look into the protocol, but in theory you can write a plugin (probably based on the tcp plugin, if the protocol offers the same semantics as tcp/ip) which would offer support for UDT.

    If you are interested in us investigating this on your behalf please contact sales@zeroc.com.
  • benoit
    benoit Rennes, France
    The API of this protocol looks very similar to the BSD socket API however there's no way to monitor a UDT socket with the system select/kqueue/epoll primitive so it won't be that easy to write a custom transport for it with Ice unless you change the Ice thread pool selection mechanism to use UDT select() primitive (but then you won't be able to use other BSD socket based transports such as TCP, SSL and UDP). It wouldn't be impossible to support all these transports together but this wouldn't be a trivial change.

    Cheers,
    Benoit.
  • Thanks, Guys. My application would only use UDT sockets.

    I think I will use good old TCP sockets for now, while I am familiarizing myself with ICE.