will it blend

pull/28109/head
Craig Tiller 3 years ago
parent dd66d15f2d
commit 3d7d3b8718
  1. 14
      src/core/ext/transport/chttp2/transport/hpack_parser.cc

@ -824,15 +824,14 @@ class HPackParser::String {
static absl::optional<String> Unbase64(Input* input, String s) {
auto v = Match(
s.value_,
[](const grpc_slice& slice) {
return Unbase64Loop(GRPC_SLICE_START_PTR(slice),
GRPC_SLICE_END_PTR(slice));
},
[](absl::Span<const uint8_t> span) {
return Unbase64Loop(span.begin(), span.end());
},
[](const std::vector<uint8_t>& vec) {
return Unbase64Loop(vec.data(), vec.data() + vec.size());
},
[](const Slice& slice) {
return Unbase64Loop(slice.begin(), slice.end());
});
if (!v.has_value()) {
return input->MaybeSetErrorAndReturn(
@ -1244,11 +1243,10 @@ class HPackParser::Parser {
Slice HPackParser::String::Take(Extern) {
auto s = Match(
value_,
[](const grpc_slice& slice) {
[](const Slice& slice) {
// TODO(ctiller): Think about this before submission.
GPR_DEBUG_ASSERT(!grpc_slice_is_interned(slice));
auto out_slice = grpc_slice_copy(slice);
grpc_slice_unref_internal(slice);
GPR_DEBUG_ASSERT(!grpc_slice_is_interned(slice.c_slice()));
auto out_slice = grpc_slice_copy(slice.c_slice());
return static_cast<const UnmanagedMemorySlice&>(out_slice);
},
[](absl::Span<const uint8_t> span) {

Loading…
Cancel
Save