GCC Code Coverage Report


Directory: libs/http_proto/
File: libs/http_proto/src/source.cpp
Date: 2024-07-18 19:38:55
Exec Total Coverage
Lines: 14 14 100.0%
Functions: 1 1 100.0%
Branches: 9 10 90.0%

Line Branch Exec Source
1 //
2 // Copyright (c) 2023 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/buffers
8 //
9
10 #include <boost/http_proto/source.hpp>
11 #include <boost/buffers/mutable_buffer.hpp>
12 #include <boost/assert.hpp>
13
14 namespace boost {
15 namespace http_proto {
16
17 auto
18 5495 source::
19 on_read(
20 buffers::mutable_buffer_span bs) ->
21 results
22 {
23 5495 results rv;
24 5495 auto it = bs.begin();
25 5495 auto const end_ = bs.end();
26
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 5494 times.
5495 if(it == end_)
27 1 return rv;
28 do
29 {
30 10967 buffers::mutable_buffer b(*it++);
31
1/2
✓ Branch 1 taken 10967 times.
✗ Branch 2 not taken.
10967 rv += on_read(b);
32
2/2
✓ Branch 1 taken 3 times.
✓ Branch 2 taken 10964 times.
10967 if(rv.ec.failed())
33 3 return rv;
34
2/2
✓ Branch 0 taken 23 times.
✓ Branch 1 taken 10941 times.
10964 if(rv.finished)
35 23 break;
36 }
37
2/2
✓ Branch 0 taken 5473 times.
✓ Branch 1 taken 5468 times.
10941 while(it != end_);
38 5491 return rv;
39 }
40
41 } // http_proto
42 } // boost
43