GRPC Core
0.11.0.0
|
#include <assert.h>
#include <string.h>
#include <grpc/compression.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/slice_buffer.h>
#include "src/core/channel/compress_filter.h"
#include "src/core/channel/channel_args.h"
#include "src/core/compression/message_compress.h"
Data Structures | |
struct | call_data |
struct | channel_data |
Typedefs | |
typedef struct call_data | call_data |
typedef struct channel_data | channel_data |
Variables | |
const grpc_channel_filter | grpc_compress_filter |
Compression filter for outgoing data. More... | |
typedef struct channel_data channel_data |
const grpc_channel_filter grpc_compress_filter |
Compression filter for outgoing data.
See <grpc/compression.h> for the available compression settings.
Compression settings may come from:
Compression can be disabled for concrete messages (for instance in order to prevent CRIME/BEAST type attacks) by having the GRPC_WRITE_NO_COMPRESS set in the BEGIN_MESSAGE flags.
The attempted compression mechanism is added to the resulting initial metadata under the'grpc-encoding' key.
If compression is actually performed, BEGIN_MESSAGE's flag is modified to incorporate GRPC_WRITE_INTERNAL_COMPRESS. Otherwise, and regardless of the aforementioned 'grpc-encoding' metadata value, data will pass through uncompressed.