| line |
true |
false |
branch |
|
12
|
0 |
0 |
MessageBuilder& deflate (bool v) noexcept { _deflate = v ? DeflateFlag::YES : DeflateFlag::NO; return *this; } |
|
16
|
0 |
0 |
return _parser.start_message(_opcode, apply_deflate).send(payload, true); |
|
22
|
0 |
0 |
for (auto it = payload_begin; it != payload_end; ++it) payload_length += (*it).length(); |
|
24
|
0 |
0 |
return _parser.start_message(_opcode, apply_deflate).send(payload_begin, payload_end, true); |
|
32
|
0 |
0 |
auto cont_range = make_iterator_pair(cont_begin, cont_end); |
|
34
|
0 |
0 |
for (const auto& range : cont_range) { |
|
36
|
0 |
0 |
for (const auto& it : range) { |
|
39
|
0 |
0 |
if (length) ++sz; |
|
41
|
0 |
0 |
if (piece_sz) { last_nonempty = idx; }; |
|
46
|
0 |
0 |
auto sender = _parser.start_message(_opcode, maybe_deflate(payload_sz)); |
|
|
0 |
0 |
auto sender = _parser.start_message(_opcode, maybe_deflate(payload_sz)); |
|
48
|
0 |
0 |
if (!payload_sz) { |
|
49
|
0 |
0 |
ret.reserve(1); |
|
50
|
0 |
0 |
ret.push_back(sender.send(true)); |
|
|
0 |
0 |
ret.push_back(sender.send(true)); |
|
54
|
0 |
0 |
ret.reserve(sz); |
|
57
|
0 |
0 |
for (auto& range : cont_range) { |
|
59
|
0 |
0 |
for (const auto& it: range) piece_sz += it.length(); |
|
60
|
0 |
0 |
if (piece_sz) { |
|
61
|
0 |
0 |
auto frame_range = sender.send(range.begin(), range.end(), idx == last_nonempty); |
|
62
|
0 |
0 |
for (const auto& s : frame_range) ret.push_back(s); |
|
|
0 |
0 |
for (const auto& s : frame_range) ret.push_back(s); |
|
64
|
0 |
0 |
if (idx == last_nonempty) break; |
|
86
|
0 |
0 |
return _opcode == Opcode::TEXT && |
|
87
|
0 |
0 |
_parser._deflate_cfg && |
|
88
|
0 |
0 |
_parser._deflate_cfg->compression_threshold <= payload_length && |
|
90
|
0 |
0 |
? DeflateFlag::YES : DeflateFlag::NO; |