Line data Source code
1 : // 2 : // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com) 3 : // 4 : // Distributed under the Boost Software License, Version 1.0. (See accompanying 5 : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 : // 7 : // Official repository: https://github.com/CPPAlliance/http_proto 8 : // 9 : 10 : #ifndef BOOST_HTTP_PROTO_SOURCE_HPP 11 : #define BOOST_HTTP_PROTO_SOURCE_HPP 12 : 13 : #include <boost/http_proto/detail/config.hpp> 14 : #include <boost/http_proto/buffer.hpp> 15 : #include <boost/http_proto/error_types.hpp> 16 : #include <boost/http_proto/string_view.hpp> 17 : 18 : namespace boost { 19 : namespace http_proto { 20 : 21 : /** A source of body data 22 : */ 23 0 : struct source 24 : { 25 : struct amount 26 : { 27 : std::size_t bytes = 0; 28 : bool more = false; 29 : }; 30 : 31 : virtual 32 : ~source() = 0; 33 : 34 : virtual 35 : result<amount> 36 : read( 37 : void* dest, 38 : std::size_t size) = 0; 39 : }; 40 : 41 : } // http_proto 42 : } // boost 43 : 44 : #endif