forked from boostorg/beast
This I/O object wraps an ordinary socket and provides a built-in timeout and optional bandwidth rate-limiting facility. Added class template basic_stream_socket * Meets the requirements of AsyncReadStream and AsyncWriteStream * Partially supports P1322R0: "Networking TS enhancement to enable custom I/O executors" http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html A strand or other io_context-compatible executor may be chosen to use for all asynchronous stream operations. * Supports independent timeouts on logical operations: connect, read, write, or both read and write. * Provides an option for a configurable rate limit limit on the maximum rates of reading or writing. * The previous experimental implementation, `timeout_socket` and related types, is removed. * stream_socket is an alias for basic_stream_socket which uses `net::ip::tcp` as its protocol.
47 lines
1.7 KiB
C++
47 lines
1.7 KiB
C++
//
|
|
// Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
|
//
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
//
|
|
// Official repository: https://github.com/boostorg/beast
|
|
//
|
|
|
|
#ifndef BOOST_BEAST_CORE_HPP
|
|
#define BOOST_BEAST_CORE_HPP
|
|
|
|
#include <boost/beast/core/detail/config.hpp>
|
|
|
|
#include <boost/beast/core/basic_stream_socket.hpp>
|
|
#include <boost/beast/core/bind_handler.hpp>
|
|
#include <boost/beast/core/buffer_traits.hpp>
|
|
#include <boost/beast/core/buffered_read_stream.hpp>
|
|
#include <boost/beast/core/buffers_adaptor.hpp>
|
|
#include <boost/beast/core/buffers_cat.hpp>
|
|
#include <boost/beast/core/buffers_prefix.hpp>
|
|
#include <boost/beast/core/buffers_range.hpp>
|
|
#include <boost/beast/core/buffers_suffix.hpp>
|
|
#include <boost/beast/core/buffers_to_string.hpp>
|
|
#include <boost/beast/core/error.hpp>
|
|
#include <boost/beast/core/file.hpp>
|
|
#include <boost/beast/core/file_base.hpp>
|
|
#include <boost/beast/core/file_posix.hpp>
|
|
#include <boost/beast/core/file_stdio.hpp>
|
|
#include <boost/beast/core/file_win32.hpp>
|
|
#include <boost/beast/core/flat_buffer.hpp>
|
|
#include <boost/beast/core/flat_static_buffer.hpp>
|
|
#include <boost/beast/core/handler_ptr.hpp>
|
|
#include <boost/beast/core/make_printable.hpp>
|
|
#include <boost/beast/core/multi_buffer.hpp>
|
|
#include <boost/beast/core/ostream.hpp>
|
|
#include <boost/beast/core/read_size.hpp>
|
|
#include <boost/beast/core/span.hpp>
|
|
#include <boost/beast/core/static_buffer.hpp>
|
|
#include <boost/beast/core/static_string.hpp>
|
|
#include <boost/beast/core/stream_socket.hpp>
|
|
#include <boost/beast/core/string.hpp>
|
|
#include <boost/beast/core/string_param.hpp>
|
|
#include <boost/beast/core/type_traits.hpp>
|
|
|
|
#endif
|