Comments and fixes

pull/11189/head
Muxi Yan 8 years ago
parent 4f85558ba8
commit fbd06f7202
  1. 13
      src/core/lib/compression/stream_compression.h
  2. 10
      test/core/compression/stream_compression_test.c

@ -31,14 +31,15 @@ typedef struct grpc_stream_compression_context {
} grpc_stream_compression_context;
typedef enum grpc_stream_compression_method {
GRPC_STREAM_COMPRESSION_COMPRESS,
GRPC_STREAM_COMPRESSION_COMPRESS = 0,
GRPC_STREAM_COMPRESSION_DECOMPRESS
} grpc_stream_compression_method;
typedef enum grpc_stream_compression_flush {
GRPC_STREAM_COMPRESSION_FLUSH_NONE,
GRPC_STREAM_COMPRESSION_FLUSH_NONE = 0,
GRPC_STREAM_COMPRESSION_FLUSH_SYNC,
GRPC_STREAM_COMPRESSION_FLUSH_FINISH
GRPC_STREAM_COMPRESSION_FLUSH_FINISH,
GRPC_STREAM_COMPRESSION_FLUSH_COUNT
} grpc_stream_compression_flush;
/**
@ -47,6 +48,12 @@ typedef enum grpc_stream_compression_flush {
* into \a out. If all the bytes in input buffer \a in are depleted and \a flush
* is not GRPC_STREAM_COMPRESSION_FLUSH_NONE, the corresponding flush method is
* executed. The total number of bytes emitted is outputed in \a output_size.
*
* A SYNC flush indicates that the entire messages in \a in can be decompressed
* from \a out. A FINISH flush implies a SYNC flush, and that any further
* compression will not be dependent on the state of the current context and any
* previous compressed bytes. It allows corresponding decompression context to
* be dropped when reaching this boundary.
*/
bool grpc_stream_compress(grpc_stream_compression_context *ctx,
grpc_slice_buffer *in, grpc_slice_buffer *out,

@ -72,7 +72,7 @@ static void test_stream_compression_simple_compress_decompress() {
size_t output_size;
GPR_ASSERT(grpc_stream_decompress(decompress_ctx, &relay, &sink, &output_size,
~(size_t)0, &end_of_context));
GPR_ASSERT(output_size = sizeof(test_str) - 1);
GPR_ASSERT(output_size == sizeof(test_str) - 1);
grpc_stream_compression_context_destroy(compress_ctx);
grpc_stream_compression_context_destroy(decompress_ctx);
@ -107,7 +107,7 @@ test_stream_compression_simple_compress_decompress_with_output_size_constraint()
size_t max_output_size = 2;
GPR_ASSERT(grpc_stream_decompress(decompress_ctx, &relay, &sink, &output_size,
max_output_size, &end_of_context));
GPR_ASSERT(output_size = max_output_size);
GPR_ASSERT(output_size == max_output_size);
GPR_ASSERT(end_of_context == false);
grpc_slice slice_recv = grpc_slice_buffer_take_first(&sink);
char *str_recv = (char *)GRPC_SLICE_START_PTR(slice_recv);
@ -118,8 +118,8 @@ test_stream_compression_simple_compress_decompress_with_output_size_constraint()
size_t remaining_size = sizeof(test_str) - 1 - max_output_size;
GPR_ASSERT(grpc_stream_decompress(decompress_ctx, &relay, &sink, &output_size,
remaining_size, &end_of_context));
GPR_ASSERT(output_size = remaining_size);
GPR_ASSERT(end_of_context = true);
GPR_ASSERT(output_size == remaining_size);
GPR_ASSERT(end_of_context == true);
GPR_ASSERT(slice_buffer_equals_string(&sink, test_str + max_output_size));
@ -152,7 +152,7 @@ test_stream_compression_simple_compress_decompress_with_large_data() {
size_t output_size;
GPR_ASSERT(grpc_stream_decompress(decompress_ctx, &relay, &sink, &output_size,
~(size_t)0, &end_of_context));
GPR_ASSERT(output_size = sizeof(test_str) - 1);
GPR_ASSERT(output_size == sizeof(test_str) - 1);
grpc_stream_compression_context_destroy(compress_ctx);
grpc_stream_compression_context_destroy(decompress_ctx);

Loading…
Cancel
Save