19 #ifndef GRPC_CORE_LIB_COMPRESSION_STREAM_COMPRESSION_H
20 #define GRPC_CORE_LIB_COMPRESSION_STREAM_COMPRESSION_H
59 size_t* output_size,
size_t max_output_size,
60 bool* end_of_context);
81 size_t* output_size,
size_t max_output_size,
93 size_t* output_size,
size_t max_output_size,
94 bool* end_of_context);
struct grpc_stream_compression_context grpc_stream_compression_context
grpc_stream_compression_method
Definition: stream_compression.h:38
@ GRPC_STREAM_COMPRESSION_IDENTITY_DECOMPRESS
Definition: stream_compression.h:40
@ GRPC_STREAM_COMPRESSION_GZIP_DECOMPRESS
Definition: stream_compression.h:42
@ GRPC_STREAM_COMPRESSION_METHOD_COUNT
Definition: stream_compression.h:43
@ GRPC_STREAM_COMPRESSION_GZIP_COMPRESS
Definition: stream_compression.h:41
@ GRPC_STREAM_COMPRESSION_IDENTITY_COMPRESS
Definition: stream_compression.h:39
bool grpc_stream_compress(grpc_stream_compression_context *ctx, grpc_slice_buffer *in, grpc_slice_buffer *out, size_t *output_size, size_t max_output_size, grpc_stream_compression_flush flush)
Compress bytes provided in in with a given context, with an optional flush at the end of compression.
Definition: stream_compression.cc:30
int grpc_stream_compression_method_parse(grpc_slice value, bool is_compress, grpc_stream_compression_method *method)
Parse stream compression method based on algorithm name.
Definition: stream_compression.cc:66
void grpc_stream_compression_context_destroy(grpc_stream_compression_context *ctx)
Destroys a stream compression context.
Definition: stream_compression.cc:61
bool grpc_stream_decompress(grpc_stream_compression_context *ctx, grpc_slice_buffer *in, grpc_slice_buffer *out, size_t *output_size, size_t max_output_size, bool *end_of_context)
Decompress bytes provided in in with a given context.
Definition: stream_compression.cc:38
grpc_stream_compression_flush
Definition: stream_compression.h:46
@ GRPC_STREAM_COMPRESSION_FLUSH_COUNT
Definition: stream_compression.h:50
@ GRPC_STREAM_COMPRESSION_FLUSH_NONE
Definition: stream_compression.h:47
@ GRPC_STREAM_COMPRESSION_FLUSH_FINISH
Definition: stream_compression.h:49
@ GRPC_STREAM_COMPRESSION_FLUSH_SYNC
Definition: stream_compression.h:48
grpc_stream_compression_context * grpc_stream_compression_context_create(grpc_stream_compression_method method)
Creates a stream compression context.
Definition: stream_compression.cc:46
Represents an expandable array of slices, to be interpreted as a single item.
Definition: slice.h:78
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1].
Definition: slice.h:60
Definition: stream_compression.h:34
const grpc_stream_compression_vtable * vtable
Definition: stream_compression.h:35
Definition: stream_compression.h:53
void(* context_destroy)(grpc_stream_compression_context *ctx)
Definition: stream_compression.h:63
bool(* compress)(grpc_stream_compression_context *ctx, grpc_slice_buffer *in, grpc_slice_buffer *out, size_t *output_size, size_t max_output_size, grpc_stream_compression_flush flush)
Definition: stream_compression.h:54
bool(* decompress)(grpc_stream_compression_context *ctx, grpc_slice_buffer *in, grpc_slice_buffer *out, size_t *output_size, size_t max_output_size, bool *end_of_context)
Definition: stream_compression.h:57