| 261 | template<class Derived> |
| 262 | template<class ConstBufferSequence> |
| 263 | std::size_t |
| 264 | nodejs_basic_parser<Derived>::write( |
| 265 | ConstBufferSequence const& buffers, error_code& ec) |
| 266 | { |
| 267 | static_assert(net::is_const_buffer_sequence< |
| 268 | ConstBufferSequence>::value, |
| 269 | "ConstBufferSequence type requirements not met"); |
| 270 | std::size_t bytes_used = 0; |
| 271 | for(auto buffer : beast::buffers_range_ref(buffers)) |
| 272 | { |
| 273 | auto const n = write( |
| 274 | static_cast<void const*>(buffer.data()), |
| 275 | buffer.size(), ec); |
| 276 | if(ec) |
| 277 | return 0; |
| 278 | bytes_used += n; |
| 279 | if(complete()) |
| 280 | break; |
| 281 | } |
| 282 | return bytes_used; |
| 283 | } |
| 284 | |
| 285 | template<class Derived> |
| 286 | http_parser_settings const* |