On Thu, 2 Apr 2020 at 00:48, Gavin Lambert via Boost-users < [email protected]> wrote:
> 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 > it. > > > > > > 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 > [email protected] > https://lists.boost.org/mailman/listinfo.cgi/boost-users > -- Richard Hodges [email protected] office: +442032898513 home: +376841522 mobile: +376380212
_______________________________________________ Boost-users mailing list [email protected] https://lists.boost.org/mailman/listinfo.cgi/boost-users
