laudrup / boost-wintls

Native Windows TLS stream wrapper for use with Asio
https://wintls.dev
Boost Software License 1.0
52 stars 13 forks source link

non-boost version support ? #79

Closed windowsair closed 6 months ago

windowsair commented 10 months ago

Hi, As you know, boost is a large dependency (in my own case), so I'm looking to see if there's a winstl for non-boost, as non-boost Asio has done.

Note that the minimum supported version is C++14, so any boost dependencies on boost-wintls itself can be replaced with STL.

I have now implemented a non-Boost version of winstl. If you think it's appropriate, I can create a PR and further discuss the specific details :)

laudrup commented 10 months ago

Hi @windowsair,

I would definitely be interested in that. Some effort in to doing exactly that has been tried previously but for some reason it was never finished.

I don't think there's much in the actual code that really depends on other boost libraries than boost.asio. If there is, then that should hopefully be fairly trivial to remove/rewrite and I definitely wouldn't mind that.

If I'm no mistaken one of the main issues is mostly the tests. I make use of the custom test_stream class from boost.beast and I would of course still very much like to not only keep the tests but also have them enabled for a non-boost dependent version of the library.

Not sure if it might be worth it to try and implement our own test_stream class or if a non-boost version would simply still depend on boost for the tests. Implementing a test_stream for asio is not trivial but definitely not impossible either.

But first of all feel free to open a PR and let's take it from there.

Thanks a lot.