Merge github.com:grpc/grpc into c++api

pull/501/head
Craig Tiller 10 years ago
commit 9d972e4628
  1. 2
      README.md
  2. 2
      include/grpc/grpc.h
  3. 16
      src/core/transport/chttp2/hpack_table.c

@ -1,4 +1,4 @@
[gRPC - An RPC library and framework](http://github.com/google/grpc)
[gRPC - An RPC library and framework](http://github.com/grpc/grpc)
===================================
Copyright 2015 Google Inc.

@ -330,6 +330,8 @@ typedef struct grpc_op {
size_t *status_details_capacity;
} recv_status_on_client;
struct {
/* out argument, set to 1 if the call failed in any way (seen as a cancellation
on the server), or 0 if the call succeeded */
int *cancelled;
} recv_close_on_server;
} data;

@ -164,7 +164,21 @@ void grpc_chttp2_hptbl_add(grpc_chttp2_hptbl *tbl, grpc_mdelem *md) {
GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD;
/* we can't add elements bigger than the max table size */
assert(elem_bytes <= tbl->max_bytes);
if (elem_bytes > tbl->max_bytes) {
/* HPACK draft 10 section 4.4 states:
* If the size of the new entry is less than or equal to the maximum
* size, that entry is added to the table. It is not an error to
* attempt to add an entry that is larger than the maximum size; an
* attempt to add an entry larger than the entire table causes
* the table
* to be emptied of all existing entries, and results in an
* empty table.
*/
while (tbl->num_ents) {
evict1(tbl);
}
return;
}
/* evict entries to ensure no overflow */
while (elem_bytes > tbl->max_bytes - tbl->mem_used) {

Loading…
Cancel
Save