LLFIO  v2.00
byte_socket_handle.hpp File Reference

Provides byte_socket_handle. More...

#include "byte_io_handle.hpp"

Classes

class  llfio_v2_xxx::ip::address
 A version independent IP address. More...
 
class  llfio_v2_xxx::ip::resolver
 Returned by resolve() as a handle to the asynchronous name resolution operation. More...
 
class  llfio_v2_xxx::ip::address_v4
 A v4 IP address. More...
 
class  llfio_v2_xxx::ip::address_v6
 Make an address_v6. v6 addresses need to have the form [::]:port. More...
 
class  llfio_v2_xxx::byte_socket_handle
 A handle to a byte-orientated socket-like entity. More...
 
struct  llfio_v2_xxx::construct< byte_socket_handle >
 Constructor for byte_socket_handle More...
 
class  llfio_v2_xxx::listening_socket_handle_buffer_types_injector< Base, SocketType >
 Injects buffer types for a particular kind of listening socket read. More...
 
struct  llfio_v2_xxx::listening_socket_handle_buffer_types_injector< Base, SocketType >::buffers_type
 The buffers type used by this handle for reads, which is a single item sequence of buffer_type. More...
 
struct  llfio_v2_xxx::listening_socket_handle_buffer_types_injector< Base, SocketType >::io_request< class >
 The i/o request type used by this handle. More...
 
class  llfio_v2_xxx::listening_byte_socket_handle
 
struct  llfio_v2_xxx::construct< listening_byte_socket_handle >
 Constructor for listening_byte_socket_handle More...
 

Namespaces

 llfio_v2_xxx
 The LLFIO namespace.
 
 llfio_v2_xxx::ip
 Inspired by ASIO's ip namespace.
 

Typedefs

using llfio_v2_xxx::ip::resolver_ptr = std::unique_ptr< resolver, detail::resolver_deleter >
 A pointer to a resolver.
 

Enumerations

enum class  llfio_v2_xxx::ip::family { unknown , llfio_v2_xxx::ip::v4 , llfio_v2_xxx::ip::v6 , llfio_v2_xxx::ip::any }
 The family of IP. More...
 
enum  llfio_v2_xxx::ip::bitfield__resolve_flag : unsigned { llfio_v2_xxx::ip::none = 0 , llfio_v2_xxx::ip::passive = (1U << 0U) , llfio_v2_xxx::ip::blocking = (1U << 1U) }
 Flags for resolve() More...
 

Functions

std::ostream & llfio_v2_xxx::ip::operator<< (std::ostream &s, const address &v)
 Write address to stream.
 
result< resolver_ptr > llfio_v2_xxx::ip::resolve (string_view name, string_view service, family _family=family::any, deadline d={}, resolve_flag flags=resolve_flag::none) noexcept
 Retrieve a list of potential address for a given name and service e.g. "www.google.com" and "https" optionally within a bounded deadline. More...
 
result< size_t > llfio_v2_xxx::ip::resolve_trim_cache (size_t maxitems=64) noexcept
 resolve() may utilise a process-wide cache, if so this function will trim that cache.
 
result< address_v4 > llfio_v2_xxx::ip::make_address_v4 (string_view str) noexcept
 Make an address_v4
 
result< address_v4 > llfio_v2_xxx::ip::make_address_v4 (const address_v4::bytes_type &bytes, uint16_t port=0) noexcept
 Make an address_v4
 
result< address_v4 > llfio_v2_xxx::ip::make_address_v4 (const address_v4::uint_type &bytes, uint16_t port=0) noexcept
 Make an address_v4
 
result< address_v6 > llfio_v2_xxx::ip::make_address_v6 (string_view str) noexcept
 Make an address_v6
 
result< address_v6 > llfio_v2_xxx::ip::make_address_v6 (const address_v6::bytes_type &bytes, uint16_t port=0, uint32_t scope_id=0) noexcept
 Make an address_v6
 
result< address > llfio_v2_xxx::ip::make_address (string_view str) noexcept
 Make a v4 or v6 address. v6 addresses need to have the form [::]:port.
 

Detailed Description

Provides byte_socket_handle.