by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Vinícius dos Santos Oliveira
@vinipsmaker
I'm currently writing a new text that expands the section of "active style vs passive style". It should be ready in a couple of months
I participate on the discussion of async I/O on Rust too: rust-lang/rfcs#1081
Currently I only do maintenance releases of Tufão (there was a few ones just some days ago)
@bedeho: I think that's about it. You can ask me more if you're interested.
Bedeho Mender
@bedeho
@vinipsmaker thanks for that response, seems like you are suggesting I may want to consider cpprestdk then
Vinícius dos Santos Oliveira
@vinipsmaker
Yes. It sounds like that. It's you who need to analyse it though. Never let people make choices for you.
Bedeho Mender
@bedeho
thank you for that frank advice, really appreciate it!
Vinícius dos Santos Oliveira
@vinipsmaker
Nowadays I wouldn't use Tufão (or anything else). I'm trying to have something that can be standardized in included in the ISO C++ standard.
Bedeho Mender
@bedeho
that would be fantastic!
Vinícius dos Santos Oliveira
@vinipsmaker
cpprestsdk may be more maintained than Tufão for now. So it seems like a better short-term/mid-term solution
Bedeho Mender
@bedeho
I dont like having to use these third party libs all the time, such a pain to manage the dependencies
Vinícius dos Santos Oliveira
@vinipsmaker
Keep an eye on this project if you're interested: https://boostgsoc14.github.io/boost.http/
I'm collaborating with the author of Beast.Http too, so there is one more place to follow: https://groups.google.com/forum/#!forum/boosthttp-dev
Bedeho Mender
@bedeho
thank you so much! continued luck, looking forward to see your contribution to as part of boost and standard lib some time in the future
Vinícius dos Santos Oliveira
@vinipsmaker
thanks =)
Bedeho Mender
@bedeho
@vinipsmaker we have been trying a bunch of different frameworks, but we cannot find a suitable alternative, we are coming back to Tuafo and trying to see if it can work for us.
could you perhaps give us some indication about why you think boost asio+coroutines support is better than Tuafo?
Vinícius dos Santos Oliveira
@vinipsmaker
hi @bedeho
there are several reasons why I think Boost.Asio is better as a building block for foundation libraries
One of the reasons is because of the choice of active style (proactor design) instead passive style (reactor design). However, I don't have time to discuss this right now. I'm doing a blog post about it though and it'll be published eventually.
This is also related to robustness (avoid many more races)
And also related to testability (Boost.Asio has much more compreensive tests than Tufão and the reason is because Asio makes it easier to write such tests)
Another point why I think Asio is superior is thanks to how it is just much more flexible than everything else (you can use coroutines, callbacks, futures, blocking APIs and so on)
And coroutines aren't always the more appropriate choice (sorry if I let you have this impression).
Vinícius dos Santos Oliveira
@vinipsmaker
As an example why I like coroutines so much. There is this project I'm working on recently and we were told to rewrite a blocking library to be async. 27 lines turned into 189 lines in a mess that only coroutine have saved us: https://github.com/maidsafe/crust/pull/715/commits/3a1740664bd6306a0d4c0b04a6b5a22ecfd0a1cd
I'll have more time to talk later. You'll have to do your own research for now =P
Bedeho Mender
@bedeho
thanks for the comprehensive response
we are currently giving it a test run, seems to be working well for us thus far
Vinícius dos Santos Oliveira
@vinipsmaker
@bedeho: oh, I shared my view point and end up forgeting about your needs. Boost.Asio would require you to write almost all the implementations. It doesn't have a POCO-like set of implementations yet. So maybe even Tufão could work better for you for now.
Bedeho Mender
@bedeho
@vinipsmaker indeed, we are just trying to implement a rest API for a c++ daemon application, so we want to write as little as possible from scratch
Vinícius dos Santos Oliveira
@vinipsmaker

sorry about that ^^

My mind "travels" when I start talking about async abstractions

Bedeho Mender
@bedeho
:)
we seem to be settling on Tufao now, it was quite managable to cross compile for windows, and it has solid documentation.
Vinícius dos Santos Oliveira
@vinipsmaker
^^
Tufão IRC bot
@tufaoircbot
packer1234 whats this
vinipsmaker hey
vinipsmaker this is the channel for the Tufão web framework
Tufão IRC bot
@tufaoircbot
hello hello
Tufão IRC bot
@tufaoircbot
hsqr64 what is your opinion on this https://github.com/d5/node.native
Tufão IRC bot
@tufaoircbot
hsqr64 vinipsmaker@
Tufão IRC bot
@tufaoircbot
vinipsmaker hi
vinipsmaker still there?
vinipsmaker looking at the front page, not going in any detail, it seems fine
vinipsmaker "node.native consists of header files(*.h) only, but requires libuv and http-parser lib to use."
vinipsmaker http-parser is horrible. I don't trust most people would use it correctly: https://vinipsmaker.wordpress.com/2016/08/05/boost-http-has-a-new-parser/
vinipsmaker about the interface, if it fits your requirements, you have a useful tool
Tufão IRC bot
@tufaoircbot
hsqr64 vinipsmaker: i just stumbled upon it and it seemed to go quite in the same direction as your project
Tufão IRC bot
@tufaoircbot
vinipsmaker hsqr64, I agree. Only diference of "intent" seems to be I run on top of Qt.