#include <grpc/support/port_platform.h>
#include "src/core/lib/slice/slice_buffer.h"
#include <string.h>
#include <cstdint>
#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"
#include "src/core/lib/slice/slice_refcount.h"
Go to the source code of this file.
Namespaces | |
grpc_core | |
Macros | |
#define | GROW(x) (3 * (x) / 2) |
Definition at line 72 of file slice/slice_buffer.cc.
|
static |
Definition at line 78 of file slice/slice_buffer.cc.
void grpc_slice_buffer_add | ( | grpc_slice_buffer * | sb, |
grpc_slice | slice | ||
) |
Add an element to a slice buffer - takes ownership of the slice. This function is allowed to concatenate the passed in slice to the end of some other slice if desired by the slice buffer.
Definition at line 170 of file slice/slice_buffer.cc.
size_t grpc_slice_buffer_add_indexed | ( | grpc_slice_buffer * | sb, |
grpc_slice | slice | ||
) |
add an element to a slice buffer - takes ownership of the slice and returns the index of the slice. Guarantees that the slice will not be concatenated at the end of another slice (i.e. the data for this slice will begin at the first byte of the slice at the returned index in sb->slices) The implementation MAY decide to concatenate data at the end of a small slice added in this fashion.
Definition at line 161 of file slice/slice_buffer.cc.
void grpc_slice_buffer_addn | ( | grpc_slice_buffer * | sb, |
grpc_slice * | s, | ||
size_t | n | ||
) |
Definition at line 224 of file slice/slice_buffer.cc.
void grpc_slice_buffer_copy_first_into_buffer | ( | grpc_slice_buffer * | src, |
size_t | n, | ||
void * | dst | ||
) |
Definition at line 384 of file slice/slice_buffer.cc.
void grpc_slice_buffer_destroy_internal | ( | grpc_slice_buffer * | sb | ) |
Definition at line 123 of file slice/slice_buffer.cc.
void grpc_slice_buffer_init | ( | grpc_slice_buffer * | sb | ) |
initialize a slice buffer
Definition at line 116 of file slice/slice_buffer.cc.
void grpc_slice_buffer_move_first | ( | grpc_slice_buffer * | src, |
size_t | n, | ||
grpc_slice_buffer * | dst | ||
) |
move the first n bytes of src into dst
Definition at line 348 of file slice/slice_buffer.cc.
void grpc_slice_buffer_move_first_into_buffer | ( | grpc_slice_buffer * | src, |
size_t | n, | ||
void * | dst | ||
) |
move the first n bytes of src into dst (copying them)
Definition at line 358 of file slice/slice_buffer.cc.
void grpc_slice_buffer_move_first_no_ref | ( | grpc_slice_buffer * | src, |
size_t | n, | ||
grpc_slice_buffer * | dst | ||
) |
move the first n bytes of src into dst without adding references
Definition at line 353 of file slice/slice_buffer.cc.
void grpc_slice_buffer_move_into | ( | grpc_slice_buffer * | src, |
grpc_slice_buffer * | dst | ||
) |
move all of the elements of src into dst
Definition at line 291 of file slice/slice_buffer.cc.
void grpc_slice_buffer_pop | ( | grpc_slice_buffer * | sb | ) |
pop the last buffer, but don't unref it
Definition at line 231 of file slice/slice_buffer.cc.
void grpc_slice_buffer_remove_first | ( | grpc_slice_buffer * | sb | ) |
Definition at line 449 of file slice/slice_buffer.cc.
void grpc_slice_buffer_reset_and_unref_internal | ( | grpc_slice_buffer * | sb | ) |
Definition at line 238 of file slice/slice_buffer.cc.
void grpc_slice_buffer_sub_first | ( | grpc_slice_buffer * | sb, |
size_t | begin, | ||
size_t | end | ||
) |
Definition at line 459 of file slice/slice_buffer.cc.
void grpc_slice_buffer_swap | ( | grpc_slice_buffer * | a, |
grpc_slice_buffer * | b | ||
) |
swap the contents of two slice buffers
Definition at line 249 of file slice/slice_buffer.cc.
grpc_slice grpc_slice_buffer_take_first | ( | grpc_slice_buffer * | sb | ) |
take the first slice in the slice buffer
Definition at line 438 of file slice/slice_buffer.cc.
uint8_t* grpc_slice_buffer_tiny_add | ( | grpc_slice_buffer * | sb, |
size_t | len | ||
) |
add a very small (less than 8 bytes) amount of data to the end of a slice buffer: returns a pointer into which to add the data
Definition at line 134 of file slice/slice_buffer.cc.
void grpc_slice_buffer_trim_end | ( | grpc_slice_buffer * | sb, |
size_t | n, | ||
grpc_slice_buffer * | garbage | ||
) |
remove n bytes from the end of a slice buffer
Definition at line 402 of file slice/slice_buffer.cc.
void grpc_slice_buffer_undo_take_first | ( | grpc_slice_buffer * | sb, |
grpc_slice | slice | ||
) |
undo the above with (a possibly different) slice
Definition at line 467 of file slice/slice_buffer.cc.
|
static |
Definition at line 102 of file slice/slice_buffer.cc.
|
static |
Definition at line 309 of file slice/slice_buffer.cc.