#include <grpc/support/port_platform.h>
#include "src/core/lib/slice/slice_buffer.h"
#include <string.h>
#include <utility>
#include <grpc/slice.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/lib/slice/slice_internal.h"
namespace grpc_core {
void SliceBuffer::Append(Slice slice) { … }
void SliceBuffer::Append(const SliceBuffer& other) { … }
size_t SliceBuffer::AppendIndexed(Slice slice) { … }
Slice SliceBuffer::TakeFirst() { … }
void SliceBuffer::Prepend(Slice slice) { … }
Slice SliceBuffer::RefSlice(size_t index) const { … }
std::string SliceBuffer::JoinIntoString() const { … }
}
#define GROW(x) …
static void GPR_ATTRIBUTE_NOINLINE do_embiggen(grpc_slice_buffer* sb,
const size_t slice_count,
const size_t slice_offset) { … }
static void maybe_embiggen(grpc_slice_buffer* sb) { … }
void grpc_slice_buffer_init(grpc_slice_buffer* sb) { … }
void grpc_slice_buffer_destroy(grpc_slice_buffer* sb) { … }
uint8_t* grpc_slice_buffer_tiny_add(grpc_slice_buffer* sb, size_t n) { … }
size_t grpc_slice_buffer_add_indexed(grpc_slice_buffer* sb, grpc_slice s) { … }
void grpc_slice_buffer_add(grpc_slice_buffer* sb, grpc_slice s) { … }
void grpc_slice_buffer_addn(grpc_slice_buffer* sb, grpc_slice* s, size_t n) { … }
void grpc_slice_buffer_pop(grpc_slice_buffer* sb) { … }
void grpc_slice_buffer_reset_and_unref(grpc_slice_buffer* sb) { … }
void grpc_slice_buffer_swap(grpc_slice_buffer* a, grpc_slice_buffer* b) { … }
void grpc_slice_buffer_move_into(grpc_slice_buffer* src,
grpc_slice_buffer* dst) { … }
template <bool incref>
static void slice_buffer_move_first_maybe_ref(grpc_slice_buffer* src, size_t n,
grpc_slice_buffer* dst) { … }
void grpc_slice_buffer_move_first(grpc_slice_buffer* src, size_t n,
grpc_slice_buffer* dst) { … }
void grpc_slice_buffer_move_first_no_ref(grpc_slice_buffer* src, size_t n,
grpc_slice_buffer* dst) { … }
void grpc_slice_buffer_move_first_into_buffer(grpc_slice_buffer* src, size_t n,
void* dst) { … }
void grpc_slice_buffer_copy_first_into_buffer(grpc_slice_buffer* src, size_t n,
void* dst) { … }
void grpc_slice_buffer_trim_end(grpc_slice_buffer* sb, size_t n,
grpc_slice_buffer* garbage) { … }
grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer* sb) { … }
void grpc_slice_buffer_remove_first(grpc_slice_buffer* sb) { … }
void grpc_slice_buffer_sub_first(grpc_slice_buffer* sb, size_t begin,
size_t end) { … }
void grpc_slice_buffer_undo_take_first(grpc_slice_buffer* sb,
grpc_slice slice) { … }