GRPC Core  43.0.0
Typedefs | Functions
byte_buffer.h File Reference
#include <grpc/impl/grpc_types.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/port_platform.h>

Go to the source code of this file.

Typedefs

typedef struct grpc_byte_buffer_reader grpc_byte_buffer_reader
 

Functions

GRPCAPI grpc_byte_buffergrpc_raw_byte_buffer_create (grpc_slice *slices, size_t nslices)
 Returns a RAW byte buffer instance over the given slices (up to nslices). More...
 
GRPCAPI grpc_byte_buffergrpc_raw_compressed_byte_buffer_create (grpc_slice *slices, size_t nslices, grpc_compression_algorithm compression)
 Returns a compressed RAW byte buffer instance over the given slices (up to nslices). More...
 
GRPCAPI grpc_byte_buffergrpc_byte_buffer_copy (grpc_byte_buffer *bb)
 Copies input byte buffer bb. More...
 
GRPCAPI size_t grpc_byte_buffer_length (grpc_byte_buffer *bb)
 Returns the size of the given byte buffer, in bytes. More...
 
GRPCAPI void grpc_byte_buffer_destroy (grpc_byte_buffer *bb)
 Destroys byte_buffer deallocating all its memory. More...
 
GRPCAPI int grpc_byte_buffer_reader_init (grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer)
 Initialize reader to read over buffer. More...
 
GRPCAPI void grpc_byte_buffer_reader_destroy (grpc_byte_buffer_reader *reader)
 Cleanup and destroy reader. More...
 
GRPCAPI int grpc_byte_buffer_reader_next (grpc_byte_buffer_reader *reader, grpc_slice *slice)
 Updates slice with the next piece of data from from reader and returns. More...
 
GRPCAPI int grpc_byte_buffer_reader_peek (grpc_byte_buffer_reader *reader, grpc_slice **slice)
 EXPERIMENTAL API - This function may be removed and changed, in the future. More...
 
GRPCAPI grpc_slice grpc_byte_buffer_reader_readall (grpc_byte_buffer_reader *reader)
 Merge all data from reader into single slice. More...
 
GRPCAPI grpc_byte_buffergrpc_raw_byte_buffer_from_reader (grpc_byte_buffer_reader *reader)
 Returns a RAW byte buffer instance from the output of reader. More...
 

Typedef Documentation

◆ grpc_byte_buffer_reader

Function Documentation

◆ grpc_byte_buffer_copy()

GRPCAPI grpc_byte_buffer* grpc_byte_buffer_copy ( grpc_byte_buffer bb)

Copies input byte buffer bb.

Increases the reference count of all the source slices. The user is responsible for calling grpc_byte_buffer_destroy over the returned copy.

◆ grpc_byte_buffer_destroy()

GRPCAPI void grpc_byte_buffer_destroy ( grpc_byte_buffer bb)

Destroys byte_buffer deallocating all its memory.

◆ grpc_byte_buffer_length()

GRPCAPI size_t grpc_byte_buffer_length ( grpc_byte_buffer bb)

Returns the size of the given byte buffer, in bytes.

◆ grpc_byte_buffer_reader_destroy()

GRPCAPI void grpc_byte_buffer_reader_destroy ( grpc_byte_buffer_reader reader)

Cleanup and destroy reader.

◆ grpc_byte_buffer_reader_init()

GRPCAPI int grpc_byte_buffer_reader_init ( grpc_byte_buffer_reader reader,
grpc_byte_buffer buffer 
)

Initialize reader to read over buffer.

Returns 1 upon success, 0 otherwise.

◆ grpc_byte_buffer_reader_next()

GRPCAPI int grpc_byte_buffer_reader_next ( grpc_byte_buffer_reader reader,
grpc_slice slice 
)

Updates slice with the next piece of data from from reader and returns.

  1. Returns 0 at the end of the stream. Caller is responsible for calling grpc_slice_unref on the result.

◆ grpc_byte_buffer_reader_peek()

GRPCAPI int grpc_byte_buffer_reader_peek ( grpc_byte_buffer_reader reader,
grpc_slice **  slice 
)

EXPERIMENTAL API - This function may be removed and changed, in the future.

Updates slice with the next piece of data from from reader and returns

  1. Returns 0 at the end of the stream. Caller is responsible for making sure the slice pointer remains valid when accessed.

NOTE: Do not use this function unless the caller can guarantee that the underlying grpc_byte_buffer outlasts the use of the slice. This is only safe when the underlying grpc_byte_buffer remains immutable while slice is being accessed.

◆ grpc_byte_buffer_reader_readall()

GRPCAPI grpc_slice grpc_byte_buffer_reader_readall ( grpc_byte_buffer_reader reader)

Merge all data from reader into single slice.

◆ grpc_raw_byte_buffer_create()

GRPCAPI grpc_byte_buffer* grpc_raw_byte_buffer_create ( grpc_slice slices,
size_t  nslices 
)

Returns a RAW byte buffer instance over the given slices (up to nslices).

Increases the reference count for all slices processed. The user is responsible for invoking grpc_byte_buffer_destroy on the returned instance.

◆ grpc_raw_byte_buffer_from_reader()

GRPCAPI grpc_byte_buffer* grpc_raw_byte_buffer_from_reader ( grpc_byte_buffer_reader reader)

Returns a RAW byte buffer instance from the output of reader.

◆ grpc_raw_compressed_byte_buffer_create()

GRPCAPI grpc_byte_buffer* grpc_raw_compressed_byte_buffer_create ( grpc_slice slices,
size_t  nslices,
grpc_compression_algorithm  compression 
)

Returns a compressed RAW byte buffer instance over the given slices (up to nslices).

The compression argument defines the compression algorithm used to generate the data in slices.

Increases the reference count for all slices processed. The user is responsible for invoking grpc_byte_buffer_destroy on the returned instance.