From: Dean M. B. <mik...@gm...> - 2010-10-30 15:09:31
|
Hi Everyone, I'd just like to give a quick update on the changes that are already in the 0.8-devel branch. 1. We already have a pretty stable interface for the asynchronous HTTP connection that handlers can deal with. I've tried documenting more of my thinking into the commit messages for the recent commits I've been pushing -- hopefully those make sense. ;) 2. I'm close to finishing the implementation details of the asynchronous HTTP connection. This is on target for the 1st week of November deadline, so I'm confident we can ship the next release by the end of that week. 3. There are a few issues I'd like to resolve as soon as I finish the HTTP server implementation that have something to do with the client interface among other things. It would be great if others can take a look at the list of issues at http://github.com/cpp-netlib/cpp-netlib/issues and vote on the ones you want me to finish first, or comment whether you want those fixed in 0.8. I'll try to squeeze in as many issue resolutions I can before I package the next release (not sure if it's 0.8 or 0.7.1 yet). 4. There's already a skeleton/outline for the documentation of the HTTP client and HTTP server interfaces. A reference manual is sorely lacking in the documentation, and it would be good for others to get their hands dirty with this one. I look forward to getting pull requests for the documentation from those who would want to contribute in this regard. :) So that's it for now, I'll be in holiday mode starting tomorrow Oct 31 until Nov 2 (here in the Philippines). I'll be online briefly in the morning Philippine time to check mail before I head on to my home town, so if you have any questions you need answered before Wednesday (PHT) please ask away so I can respond quickly. :) Have a great weekend everyone! I look forward to getting back into it by Nov 2. -- Dean Michael Berris deanberris.com |
From: Glyn M. <gly...@gm...> - 2010-11-01 21:07:53
|
Hi Dean, On 30 October 2010 17:09, Dean Michael Berris <mik...@gm...>wrote: > Hi Everyone, > > I'd just like to give a quick update on the changes that are already > in the 0.8-devel branch. > > 1. We already have a pretty stable interface for the asynchronous HTTP > connection that handlers can deal with. I've tried documenting more of > my thinking into the commit messages for the recent commits I've been > pushing -- hopefully those make sense. ;) > > 2. I'm close to finishing the implementation details of the > asynchronous HTTP connection. This is on target for the 1st week of > November deadline, so I'm confident we can ship the next release by > the end of that week. > I get this error message when compiling: gmatthew@lola:~/Projects/cpp-netlib-mikhailberis/build$ make Scanning dependencies of target cpp-netlib-hello_world [ 5%] Building CXX object libs/network/test/CMakeFiles/cpp-netlib-hello_world.dir/hello_world.cpp.o In file included from /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_connection.hpp:11, from /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_server.hpp:9, from /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server.hpp:15, from /home/gmatthew/Projects/cpp-netlib-mikhailberis/libs/network/test/hello_world.cpp:10: /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/algorithms/linearize.hpp:29: error: ‘*’ cannot appear in a constant-expression /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/algorithms/linearize.hpp:29: error: a call to a constructor cannot appear in a constant-expression /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/algorithms/linearize.hpp:29: error: template argument 1 is invalid /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/algorithms/linearize.hpp:29: error: template argument 1 is invalid In file included from /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_server.hpp:9, from /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server.hpp:15, from /home/gmatthew/Projects/cpp-netlib-mikhailberis/libs/network/test/hello_world.cpp:10: /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_connection.hpp: In member function ‘void boost::network::http::async_connection<Tag, Handler>::write_impl(Range, Callback)’: /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_connection.hpp:251: error: no matching function for call to ‘min(size_t&, long unsigned int)’ /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_connection.hpp:267: error: no matching function for call to ‘min(size_t&, long unsigned int)’ In file included from /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server.hpp:15, from /home/gmatthew/Projects/cpp-netlib-mikhailberis/libs/network/test/hello_world.cpp:10: /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_server.hpp: At global scope: /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_server.hpp:20: error: declaration of ‘typedef struct boost::network::http::response_header<Tag> boost::network::http::async_server_base<Tag, Handler>::response_header’ /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/header/name.hpp:14: error: changes meaning of ‘response_header’ from ‘struct boost::network::http::response_header<Tag>’ In file included from /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_server.hpp:16, from /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server.hpp:14, from /home/gmatthew/Projects/cpp-netlib-mikhailberis/libs/network/test/hello_world.cpp:10: /home/gmatthew/Projects/boost_1_43_0/boost/mpl/find_if.hpp: In member function ‘void boost::network::http::sync_connection<Tag, Handler>::handle_read_headers(const boost::system::error_code&, size_t) [with Tag = boost::network::http::tags::http_server, Handler = hello_world]’: /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_connection.hpp:58: instantiated from ‘void boost::network::http::sync_connection<Tag, Handler>::start() [with Tag = boost::network::http::tags::http_server, Handler = hello_world]’ /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_server.hpp:65: instantiated from ‘void boost::network::http::sync_server_base<Tag, Handler>::handle_accept(const boost::system::error_code&) [with Tag = boost::network::http::tags::http_server, Handler = hello_world]’ /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_server.hpp:42: instantiated from ‘boost::network::http::sync_server_base<Tag, Handler>::sync_server_base(const typename boost::network::string<Tag>::type&, const typename boost::network::string<Tag>::type&, Handler&) [with Tag = boost::network::http::tags::http_server, Handler = hello_world]’ /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server.hpp:44: instantiated from ‘boost::network::http::server<Handler>::server(const typename boost::network::http::server_base<boost::network::http::tags::http_server, Handler>::type::string_type&, const typename boost::network::http::server_base<boost::network::http::tags::http_server, Handler>::type::string_type&, Handler&) [with Handler = hello_world]’ /home/gmatthew/Projects/cpp-netlib-mikhailberis/libs/network/test/hello_world.cpp:43: instantiated from here /home/gmatthew/Projects/boost_1_43_0/boost/mpl/find_if.hpp:32: error: ‘template<class Sequence, class Predicate> struct boost::mpl::find_if’ is not a function, /usr/include/c++/4.4/bits/stl_algo.h:4240: error: conflict with ‘template<class _IIter, class _Predicate> _IIter std::find_if(_IIter, _IIter, _Predicate)’ /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_connection.hpp:94: error: in call to ‘find_if’ /home/gmatthew/Projects/boost_1_43_0/boost/mpl/find_if.hpp:32: error: argument dependent lookup finds ‘template<class Sequence, class Predicate> struct boost::mpl::find_if’ /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_connection.hpp:94: error: in call to ‘find_if’ /home/gmatthew/Projects/boost_1_43_0/boost/system/error_code.hpp: At global scope: /home/gmatthew/Projects/boost_1_43_0/boost/system/error_code.hpp:208: warning: ‘boost::system::system_category’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/system/error_code.hpp:209: warning: ‘boost::system::generic_category’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/system/error_code.hpp:214: warning: ‘boost::system::posix_category’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/system/error_code.hpp:215: warning: ‘boost::system::errno_ecat’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/system/error_code.hpp:216: warning: ‘boost::system::native_ecat’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/asio/error.hpp:353: warning: ‘boost::asio::error::system_category’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/asio/error.hpp:355: warning: ‘boost::asio::error::netdb_category’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/asio/error.hpp:357: warning: ‘boost::asio::error::addrinfo_category’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/asio/error.hpp:359: warning: ‘boost::asio::error::misc_category’ defined but not used /home/gmatthew/Projects/boost_1_43_0/boost/asio/error.hpp:361: warning: ‘boost::asio::error::ssl_category’ defined but not used make[2]: *** [libs/network/test/CMakeFiles/cpp-netlib-hello_world.dir/hello_world.cpp.o] Error 1 make[1]: *** [libs/network/test/CMakeFiles/cpp-netlib-hello_world.dir/all] Error 2 make: *** [all] Error 2 There are other open issues on github reporting compilation failures for other platforms too. > > 3. There are a few issues I'd like to resolve as soon as I finish the > HTTP server implementation that have something to do with the client > interface among other things. It would be great if others can take a > look at the list of issues at > http://github.com/cpp-netlib/cpp-netlib/issues and vote on the ones > you want me to finish first, or comment whether you want those fixed > in 0.8. I'll try to squeeze in as many issue resolutions I can before > I package the next release (not sure if it's 0.8 or 0.7.1 yet). > > 4. There's already a skeleton/outline for the documentation of the > HTTP client and HTTP server interfaces. A reference manual is sorely > lacking in the documentation, and it would be good for others to get > their hands dirty with this one. I look forward to getting pull > requests for the documentation from those who would want to contribute > in this regard. :) > Reference manual and examples :) we are still example poor at the moment. > > So that's it for now, I'll be in holiday mode starting tomorrow Oct 31 > until Nov 2 (here in the Philippines). I'll be online briefly in the > morning Philippine time to check mail before I head on to my home > town, so if you have any questions you need answered before Wednesday > (PHT) please ask away so I can respond quickly. :) > Have a relaxing holiday and I hope you don't pay attention to these mails before you return :) G |
From: Dean M. B. <mik...@gm...> - 2010-11-03 10:22:27
|
Hey Guys! Aaaaaaaaaaand... I'm back! Earlier today was my daughter's first birthday celebration, so that marks the end of my vacation. Hopefully I'll get back to the hacking in the next couple days for the finishing touches. On Tue, Nov 2, 2010 at 5:07 AM, Glyn Matthews <gly...@gm...> wrote: > Hi Dean, > > On 30 October 2010 17:09, Dean Michael Berris <mik...@gm...> > wrote: >> >> 2. I'm close to finishing the implementation details of the >> asynchronous HTTP connection. This is on target for the 1st week of >> November deadline, so I'm confident we can ship the next release by >> the end of that week. > > I get this error message when compiling: Can you say what compiler you're using? Judging from the environment and the error messages it looks like you're using GCC on Linux -- any specific version number? Also, I'm being bitten by things like these: ... >mikhailberis/boost/network/protocol/http/algorithms/linearize.hpp:29: > error: a call to a constructor cannot appear in a constant-expression Which is not right because I don't use * in a constant-expression... I'll look at that line again tomorrow. ... > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_connection.hpp:251: > error: no matching function for call to ‘min(size_t&, long unsigned int)’ > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_connection.hpp:267: > error: no matching function for call to ‘min(size_t&, long unsigned int)’ Which looks like I just have to initialize a static local size_t to hold the value of the macro. This type-specificity is actually really hard to see -- but Clang seems to be able to rightly compile two types of being `unsigned long int` (where std::size_t is also an unsigned long int). > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_server.hpp:20: > error: declaration of ‘typedef struct > boost::network::http::response_header<Tag> > boost::network::http::async_server_base<Tag, Handler>::response_header’ > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/header/name.hpp:14: > error: changes meaning of ‘response_header’ from ‘struct > boost::network::http::response_header<Tag>’ This is also odd because response_header is a local typedef in the async_server_base struct -- it doesn't change the meaning of the earlier declared response_header template in the namespace scope. This looks like a misinterpretation of the standard on the compiler's part IMO. It's easy to fix although it's perfectly standard C++ as far as I understand it. I may be wrong though. ... > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_connection.hpp:94: > error: in call to ‘find_if’ > /home/gmatthew/Projects/boost_1_43_0/boost/mpl/find_if.hpp:32: error: > argument dependent lookup finds ‘template<class Sequence, class Predicate> > struct boost::mpl::find_if’ > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_connection.hpp:94: > error: in call to ‘find_if’ What the... Why doesn't clang complain about this and does the right thing? Let me check to see why this issue comes up. I'll try with GCC 4.5 and GCC 4.4. > There are other open issues on github reporting compilation failures for > other platforms too. > Yeah, thanks for those. I'll respond to Christian Henning on the Boost-Users list about his issues. >> >> 4. There's already a skeleton/outline for the documentation of the >> HTTP client and HTTP server interfaces. A reference manual is sorely >> lacking in the documentation, and it would be good for others to get >> their hands dirty with this one. I look forward to getting pull >> requests for the documentation from those who would want to contribute >> in this regard. :) > > Reference manual and examples :) we are still example poor at the moment. > Yeah, I agree. We really need more feedback on the documentation -- although people seem to be alright with looking at the examples and running away with those, however poor the examples are. :D Although the reference manual would be great to write, I'll need help with making progress in that front. :) >> >> So that's it for now, I'll be in holiday mode starting tomorrow Oct 31 >> until Nov 2 (here in the Philippines). I'll be online briefly in the >> morning Philippine time to check mail before I head on to my home >> town, so if you have any questions you need answered before Wednesday >> (PHT) please ask away so I can respond quickly. :) > > Have a relaxing holiday and I hope you don't pay attention to these mails > before you return :) Thanks Glyn! It's going to be hacking days for me starting tomorrow. For now the email backlog is giving me the heebeejeebee's and I'm longing for Inbox 0 again. :) I better get cracking on these emails now. :D More from me later! -- Dean Michael Berris deanberris.com |
From: Steve O. <st...@so...> - 2010-11-03 10:45:37
|
In that case congrats are in order. Congratulations. Great milestone there Steve Obbayi SKYPE: sobbayi Software Developer ----- Original Message ----- From: "Dean Michael Berris" <mik...@gm...> To: "C++ Networking Library Developers Mailing List" <cpp...@li...> Sent: Wednesday, November 3, 2010 6:22:00 AM GMT -05:00 US/Canada Eastern Subject: Re: [cpp-netlib-devel] 0.8-devel progress, more async HTTP server handler goodness Hey Guys! Aaaaaaaaaaand... I'm back! Earlier today was my daughter's first birthday celebration, so that marks the end of my vacation. Hopefully I'll get back to the hacking in the next couple days for the finishing touches. On Tue, Nov 2, 2010 at 5:07 AM, Glyn Matthews <gly...@gm...> wrote: > Hi Dean, > > On 30 October 2010 17:09, Dean Michael Berris <mik...@gm...> > wrote: >> >> 2. I'm close to finishing the implementation details of the >> asynchronous HTTP connection. This is on target for the 1st week of >> November deadline, so I'm confident we can ship the next release by >> the end of that week. > > I get this error message when compiling: Can you say what compiler you're using? Judging from the environment and the error messages it looks like you're using GCC on Linux -- any specific version number? Also, I'm being bitten by things like these: ... >mikhailberis/boost/network/protocol/http/algorithms/linearize.hpp:29: > error: a call to a constructor cannot appear in a constant-expression Which is not right because I don't use * in a constant-expression... I'll look at that line again tomorrow. ... > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_connection.hpp:251: > error: no matching function for call to ‘min(size_t&, long unsigned int)’ > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_connection.hpp:267: > error: no matching function for call to ‘min(size_t&, long unsigned int)’ Which looks like I just have to initialize a static local size_t to hold the value of the macro. This type-specificity is actually really hard to see -- but Clang seems to be able to rightly compile two types of being `unsigned long int` (where std::size_t is also an unsigned long int). > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/async_server.hpp:20: > error: declaration of ‘typedef struct > boost::network::http::response_header<Tag> > boost::network::http::async_server_base<Tag, Handler>::response_header’ > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/header/name.hpp:14: > error: changes meaning of ‘response_header’ from ‘struct > boost::network::http::response_header<Tag>’ This is also odd because response_header is a local typedef in the async_server_base struct -- it doesn't change the meaning of the earlier declared response_header template in the namespace scope. This looks like a misinterpretation of the standard on the compiler's part IMO. It's easy to fix although it's perfectly standard C++ as far as I understand it. I may be wrong though. ... > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_connection.hpp:94: > error: in call to ‘find_if’ > /home/gmatthew/Projects/boost_1_43_0/boost/mpl/find_if.hpp:32: error: > argument dependent lookup finds ‘template<class Sequence, class Predicate> > struct boost::mpl::find_if’ > /home/gmatthew/Projects/cpp-netlib-mikhailberis/boost/network/protocol/http/server/sync_connection.hpp:94: > error: in call to ‘find_if’ What the... Why doesn't clang complain about this and does the right thing? Let me check to see why this issue comes up. I'll try with GCC 4.5 and GCC 4.4. > There are other open issues on github reporting compilation failures for > other platforms too. > Yeah, thanks for those. I'll respond to Christian Henning on the Boost-Users list about his issues. >> >> 4. There's already a skeleton/outline for the documentation of the >> HTTP client and HTTP server interfaces. A reference manual is sorely >> lacking in the documentation, and it would be good for others to get >> their hands dirty with this one. I look forward to getting pull >> requests for the documentation from those who would want to contribute >> in this regard. :) > > Reference manual and examples :) we are still example poor at the moment. > Yeah, I agree. We really need more feedback on the documentation -- although people seem to be alright with looking at the examples and running away with those, however poor the examples are. :D Although the reference manual would be great to write, I'll need help with making progress in that front. :) >> >> So that's it for now, I'll be in holiday mode starting tomorrow Oct 31 >> until Nov 2 (here in the Philippines). I'll be online briefly in the >> morning Philippine time to check mail before I head on to my home >> town, so if you have any questions you need answered before Wednesday >> (PHT) please ask away so I can respond quickly. :) > > Have a relaxing holiday and I hope you don't pay attention to these mails > before you return :) Thanks Glyn! It's going to be hacking days for me starting tomorrow. For now the email backlog is giving me the heebeejeebee's and I'm longing for Inbox 0 again. :) I better get cracking on these emails now. :D More from me later! -- Dean Michael Berris deanberris.com ------------------------------------------------------------------------------ Achieve Improved Network Security with IP and DNS Reputation. Defend against bad network traffic, including botnets, malware, phishing sites, and compromised hosts - saving your company time, money, and embarrassment. Learn More! http://p.sf.net/sfu/hpdev2dev-nov _______________________________________________ Cpp-netlib-devel mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cpp-netlib-devel |
From: Glyn M. <gly...@gm...> - 2010-11-03 11:41:02
|
Hi Dean, On 3 November 2010 11:22, Dean Michael Berris <mik...@gm...>wrote: > > On Tue, Nov 2, 2010 at 5:07 AM, Glyn Matthews <gly...@gm...> > wrote: > > Hi Dean, > > > > On 30 October 2010 17:09, Dean Michael Berris <mik...@gm...> > > wrote: > >> > >> 2. I'm close to finishing the implementation details of the > >> asynchronous HTTP connection. This is on target for the 1st week of > >> November deadline, so I'm confident we can ship the next release by > >> the end of that week. > > > > I get this error message when compiling: > > Can you say what compiler you're using? Judging from the environment > and the error messages it looks like you're using GCC on Linux -- any > specific version number? > D'oh, yeah its GCC 4.4 on Linux. > > What the... Why doesn't clang complain about this and does the right > thing? Let me check to see why this issue comes up. I'll try with GCC > 4.5 and GCC 4.4. > > > There are other open issues on github reporting compilation failures for > > other platforms too. > > > > Yeah, thanks for those. I'll respond to Christian Henning on the > Boost-Users list about his issues. > > Thanks, Glyn |
From: Dean M. B. <mik...@gm...> - 2010-11-06 13:34:26
|
On Wed, Nov 3, 2010 at 7:40 PM, Glyn Matthews <gly...@gm...> wrote: > Hi Dean, > > On 3 November 2010 11:22, Dean Michael Berris <mik...@gm...> > wrote: >> >> Can you say what compiler you're using? Judging from the environment >> and the error messages it looks like you're using GCC on Linux -- any >> specific version number? > > D'oh, yeah its GCC 4.4 on Linux. > Those are fixed now on GCC 4.4 and GCC 4.5. HTH -- Dean Michael Berris deanberris.com |