Discussion:
[asio-users] New (first?) Boost asio based UDT (reliability over UDP) implementation
Secure SocketFunneling
2015-09-08 15:07:23 UTC
Permalink
Hi everyone,

Just a quick post to inform you that we are currently working on UDT[0]
support for asio's stream sockets.


https://github.com/securesocketfunneling/udt


Instead of using a boost::ip::tcp::socket, there is now a ip::udt::socket
from which you can async_connect, async_receive, async_write...

We tried to comply with the extensible asynchronous model, so it is
compatible with existing extentions (future, coroutines).
Thanks to the asio stream_socket ssl wrapper, you can even TLS your UDT
socket thus, having TLS over UDP.

The library is still pretty young and there is room for optimization.
We plan to use it as the replacement of TCP in our larger toolkit (ssf[1])
for even better performances.

Note that there is an issue related to timer reported here[2]. It directly
impacts performance of UDT on Windows.

We would love having feedbacks and we are fully open to any
requests/suggestions or contributions.

Thanks!

[0] http://udt.sourceforge.net/
[1] https://securesocketfunneling.github.io/ssf/
[2] https://github.com/boostorg/asio/pull/24
Владислав Щапов
2015-09-09 12:03:27 UTC
Permalink
Hello!

Is it possible to add support of Visual Studio 2010?

As I see it the only problem is use std::atomic and std::chrono which have
analogues in Boost. And VS 2010 is not supported variadic templates from
pull-request 1.
Post by Secure SocketFunneling
Hi everyone,
Just a quick post to inform you that we are currently working on UDT[0]
support for asio's stream sockets.
https://github.com/securesocketfunneling/udt
Instead of using a boost::ip::tcp::socket, there is now a ip::udt::socket
from which you can async_connect, async_receive, async_write...
We tried to comply with the extensible asynchronous model, so it is
compatible with existing extentions (future, coroutines).
Thanks to the asio stream_socket ssl wrapper, you can even TLS your UDT
socket thus, having TLS over UDP.
The library is still pretty young and there is room for optimization.
We plan to use it as the replacement of TCP in our larger toolkit (ssf[1])
for even better performances.
Note that there is an issue related to timer reported here[2]. It directly
impacts performance of UDT on Windows.
We would love having feedbacks and we are fully open to any
requests/suggestions or contributions.
Thanks!
[0] http://udt.sourceforge.net/
[1] https://securesocketfunneling.github.io/ssf/
[2] https://github.com/boostorg/asio/pull/24
------------------------------------------------------------------------------
_______________________________________________
asio-users mailing list
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsUsingAsio
--
С уважеМОеЌ, ВлаЎОслав ЩапПв
ICQ: 223-695-654
niXman
2015-09-09 12:43:49 UTC
Permalink
Post by Владислав Щапов
Hello!
Is it possible to add support of Visual Studio 2010?
As I see it the only problem is use std::atomic and std::chrono which have
analogues in Boost. And VS 2010 is not supported variadic templates from
pull-request 1.
Hi,

I think it's a bad idea...
I think this code was written using the C++11 standard not in order to
add support for compilers that do not meet C++11.


------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
asio-users mailing list
asio-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsU
Владислав Щапов
2015-09-09 13:30:59 UTC
Permalink
Hi!
Post by niXman
Post by Владислав Щапов
Hello!
Is it possible to add support of Visual Studio 2010?
As I see it the only problem is use std::atomic and std::chrono which have
analogues in Boost. And VS 2010 is not supported variadic templates from
pull-request 1.
Hi,
I think it's a bad idea...
I think this code was written using the C++11 standard not in order to
add support for compilers that do not meet C++11.
Only MSVS 2015, GCC 5.1 supports C++11 full.
In other cases is necessary to choose used subset of functions.

In the productive environment is not always possible to use the latest
compilers. :(
Post by niXman
------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
asio-users mailing list
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsUsingAsio
--
С уважеМОеЌ, ВлаЎОслав ЩапПв
ICQ: 223-695-654
Secure SocketFunneling
2015-09-10 08:06:03 UTC
Permalink
Hello,

Thanks for your interest.
The project has been tested against VS 2013 and GCC 4.8 and we do not plan
to make it compatible with older compilers version at the moment.
However, we are open to contributions and help to make this project better.
We will be pleased to have pull requests and discuss about it.
Post by Владислав Щапов
Hi!
Post by niXman
Post by Владислав Щапов
Hello!
Is it possible to add support of Visual Studio 2010?
As I see it the only problem is use std::atomic and std::chrono which have
analogues in Boost. And VS 2010 is not supported variadic templates from
pull-request 1.
Hi,
I think it's a bad idea...
I think this code was written using the C++11 standard not in order to
add support for compilers that do not meet C++11.
Only MSVS 2015, GCC 5.1 supports C++11 full.
In other cases is necessary to choose used subset of functions.
In the productive environment is not always possible to use the latest
compilers. :(
Post by niXman
------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
asio-users mailing list
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsUsingAsio
--
С уважеМОеЌ, ВлаЎОслав ЩапПв
ICQ: 223-695-654
------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
asio-users mailing list
https://lists.sourceforge.net/lists/listinfo/asio-users
_______________________________________________
Using Asio? List your project at
http://think-async.com/Asio/WhoIsUsingAsio
Loading...