Boost C++ Libraries: Ticket #3131: DCCP protocol support in Boost.Asio https://svn.boost.org/trac10/ticket/3131 <p> DCCP is a connected datagram protocol, which can be seen to occupy the niche between UDP and TCP. Newer versions of glibc enable support of this protocol to some extent, so I decided, it may be handy to have support for it in Asio as well. </p> <p> Considering that it only operates on connected sockets, I hacked up new basic_dccp_socket/dccp_socket_service classes, which are datagram in nature, but do not support unconnected operation. </p> <p> One problem I haven't though about the way to address (hopefully, somebody will help me out with this) is concept of DCCP service codes. Each DCCP socket must be associated with one or several service codes. Information about the desired service codes must be communicated somehow down the pipe (either through an appropriate change to the "resolver" or by some other means). </p> <p> If ignored, service code on sockets default to 0 and everything works fine, but it is not an intended approach to DCCP use. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3131 Trac 1.4.3 oakad@… Thu, 04 Jun 2009 08:46:15 GMT attachment set https://svn.boost.org/trac10/ticket/3131 https://svn.boost.org/trac10/ticket/3131 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">dccp.hpp</span> </li> </ul> <p> DCCP protocol header </p> Ticket oakad@… Thu, 04 Jun 2009 08:47:02 GMT attachment set https://svn.boost.org/trac10/ticket/3131 https://svn.boost.org/trac10/ticket/3131 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">basic_dccp_socket.hpp</span> </li> </ul> <p> "connected-only" datagram socket </p> Ticket oakad@… Thu, 04 Jun 2009 08:47:34 GMT attachment set https://svn.boost.org/trac10/ticket/3131 https://svn.boost.org/trac10/ticket/3131 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">dccp_socket_service.hpp</span> </li> </ul> <p> "connected-only" datagram socket service </p> Ticket oakad@… Fri, 10 Jul 2009 10:09:51 GMT <link>https://svn.boost.org/trac10/ticket/3131#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3131#comment:1</guid> <description> <p> I decided that the best place to stash the service codes will be the actual DCCP endpoint. This however implies overloading of quite a few classes, as service codes must be set before every socket bind/connect operation. My current working version of the DCCP code is attached herein. </p> </description> <category>Ticket</category> </item> <item> <author>oakad@…</author> <pubDate>Fri, 10 Jul 2009 10:12:23 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/3131 https://svn.boost.org/trac10/ticket/3131 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">dccp-v1.tar.gz</span> </li> </ul> Ticket anonymous Fri, 10 Jul 2009 10:35:44 GMT <link>https://svn.boost.org/trac10/ticket/3131#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3131#comment:2</guid> <description> <p> I shall also add a couple of usage examples using the concept. </p> </description> <category>Ticket</category> </item> <item> <author>oakad@…</author> <pubDate>Fri, 10 Jul 2009 10:36:26 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/3131 https://svn.boost.org/trac10/ticket/3131 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">async_dccp_echo_server.cpp</span> </li> </ul> Ticket oakad@… Fri, 10 Jul 2009 10:36:48 GMT attachment set https://svn.boost.org/trac10/ticket/3131 https://svn.boost.org/trac10/ticket/3131 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">blocking_dccp_echo_client.cpp</span> </li> </ul> Ticket