Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ned14/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'include/llfio/v2.0/tls_socket_handle.hpp')
-rw-r--r--include/llfio/v2.0/tls_socket_handle.hpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/llfio/v2.0/tls_socket_handle.hpp b/include/llfio/v2.0/tls_socket_handle.hpp
index 6cefca74..08333af0 100644
--- a/include/llfio/v2.0/tls_socket_handle.hpp
+++ b/include/llfio/v2.0/tls_socket_handle.hpp
@@ -309,6 +309,8 @@ system_implementation = (1U << 1U), //!< This socket source is the "system" rat
io_multiplexer = (1U << 2U), //!< This socket source provides an i/o multiplexer
supports_wrap = (1U << 3U), //!< This socket source may be able to wrap third party plain sockets
+FIPS_140_2 = (1U << 16U), //!< This socket source provides FIPS_140_2 compliant algorithms
+
all = 0xffffffff //!< All bits set
} //
QUICKCPPLIB_BITFIELD_END(tls_socket_source_implementation_features) //
@@ -533,6 +535,10 @@ if(string_view(buffer, b.size()) != "World") {
// rather than hard close
sock->shutdown_and_close(std::chrono::seconds(3)).value();
```
+
+Fuller fat example:
+
+ \snippet use_cases.cpp tls_socket_server
*/
class LLFIO_DECL tls_socket_source_registry
{
@@ -552,16 +558,18 @@ public:
//! Convenience overload retrieving TLS socket sources, preferring system over third party implementations.
static tls_socket_source_implementation_information
default_source(tls_socket_source_implementation_features set = tls_socket_source_implementation_features::none,
- tls_socket_source_implementation_features mask = tls_socket_source_implementation_features::system_implementation) noexcept
+ tls_socket_source_implementation_features mask = tls_socket_source_implementation_features::none) noexcept
{
tls_socket_source_implementation_information ret{"no implementation available"};
set |= tls_socket_source_implementation_features::system_implementation;
+ mask |= tls_socket_source_implementation_features::system_implementation;
auto filled = sources({&ret, 1}, set, mask);
if(!filled.empty())
{
return ret;
}
set &= ~tls_socket_source_implementation_features::system_implementation;
+ mask &= ~tls_socket_source_implementation_features::system_implementation;
filled = sources({&ret, 1}, set, mask);
if(!filled.empty())
{