MCPcopy Create free account
hub / github.com/apache/brpc / add_binary_internal

Function add_binary_internal

src/mcpack2pb/serializer.cpp:402–427  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

400// append string/raw
401
402inline void add_binary_internal(OutputStream* stream,
403 Serializer::GroupInfo & group_info,
404 const butil::StringPiece& value,
405 FieldType type) {
406 if (!stream->good()) {
407 return;
408 }
409 if (!array_add_item(stream, group_info, type, 1)) {
410 return stream->set_bad();
411 }
412 if (value.size() <= 255) {
413 FieldShortHead shead;
414 shead.set_type(type | FIELD_SHORT_MASK);
415 shead.set_name_size(0);
416 shead.set_value_size(value.size());
417 stream->append_packed_pod(shead);
418 stream->append(value.data(), value.size());
419 } else {
420 FieldLongHead lhead;
421 lhead.set_type(type);
422 lhead.set_name_size(0);
423 lhead.set_value_size(value.size());
424 stream->append_packed_pod(lhead);
425 stream->append(value.data(), value.size());
426 }
427}
428
429inline void add_binary_internal(OutputStream* stream,
430 Serializer::GroupInfo & group_info,

Callers 2

add_stringMethod · 0.85
add_binaryMethod · 0.85

Calls 12

array_add_itemFunction · 0.85
object_add_itemFunction · 0.85
append_packed_podMethod · 0.80
goodMethod · 0.45
set_badMethod · 0.45
sizeMethod · 0.45
set_typeMethod · 0.45
set_name_sizeMethod · 0.45
set_value_sizeMethod · 0.45
appendMethod · 0.45
dataMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected