Boost Users :
From: Richard Hodges (hodges.r_at_[hidden])
Date: 2020-04-01 22:57:47
On Thu, 2 Apr 2020 at 00:48, Gavin Lambert via Boost-users <
> On 2/04/2020 07:27, Richard Hodges wrote:
> > On Wed, 1 Apr 2020 at 16:11, Stanislav Zaikin wrote:
> > Hello!
> > I have a custom network stack (it processed packets in userspace)
> > which exposed some functions in C. It has its own listen, bind,
> > accept functions and many other, and furthermore even custom epoll,
> > select and poll.
> > I want to expand asio in some away, just to support my application
> > with this custom network stack. But I'm a bit confused how I can do
> > Boost.Beast implements some custom stream types. That is, objects that
> > model AsyncReadStream and AsyncWriteStream.
> > This would be a good place to start looking for examples.
> > There is also a primer on writing asio operations in the beast
> > documentation.
> That might suffice for custom listen/bind/accept/read/write.
> But custom epoll/select/poll is an entirely different kettle of fish.
> If your custom library must use those (and cannot provide a standard
> platform file descriptor that works with the standard platform
> epoll/select/poll), then you're largely out of luck. For that, you
> would have to write a custom reactor instead; and as far as I am aware
> without deep modifications to Asio there is no provision for doing so
> (and it's a massive amount of work that is hard to get correct, although
> you can use the existing implementations as a guide).
I respectfully disagree. You'd have to write a new executor and associated
context. It would look very similar to the existing one.
> (There's also the question of whether you want to completely replace
> Asio's standard reactor or if you want to have something like a gateway
> thread that marshals work between your custom reactor and the standard
> reactor. Each has different tradeoffs.)
> Jeff is probably correct that if you have questions about this you
> should ask directly on the Asio lists. The primary author doesn't read
> this list.
> Boost-users mailing list
-- Richard Hodges hodges.r_at_[hidden] office: +442032898513 home: +376841522 mobile: +376380212
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net