diff options
author | Mark D. Roth <roth@google.com> | 2017-08-25 14:36:16 -0700 |
---|---|---|
committer | Mark D. Roth <roth@google.com> | 2017-08-25 14:36:16 -0700 |
commit | 8ecb4ed9ffc746f79ce350e72ebb5425234f973a (patch) | |
tree | c1391bfe511318d5c535c86e8f38ac309a569230 /src/core/lib | |
parent | ff4f2db4b978ea7264a4ab94711667456d017ed8 (diff) |
Detect default metadata using the callout list.
Diffstat (limited to 'src/core/lib')
-rw-r--r-- | src/core/lib/transport/metadata_batch.c | 2 | ||||
-rw-r--r-- | src/core/lib/transport/metadata_batch.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/core/lib/transport/metadata_batch.c b/src/core/lib/transport/metadata_batch.c index 8f24b8527c..92cf194e2f 100644 --- a/src/core/lib/transport/metadata_batch.c +++ b/src/core/lib/transport/metadata_batch.c @@ -105,6 +105,7 @@ static grpc_error *maybe_link_callout(grpc_metadata_batch *batch, return GRPC_ERROR_NONE; } if (batch->idx.array[idx] == NULL) { + ++batch->list.static_count; batch->idx.array[idx] = storage; return GRPC_ERROR_NONE; } @@ -120,6 +121,7 @@ static void maybe_unlink_callout(grpc_metadata_batch *batch, if (idx == GRPC_BATCH_CALLOUTS_COUNT) { return; } + --batch->list.static_count; GPR_ASSERT(batch->idx.array[idx] != NULL); batch->idx.array[idx] = NULL; } diff --git a/src/core/lib/transport/metadata_batch.h b/src/core/lib/transport/metadata_batch.h index 1b11a3e252..8834051318 100644 --- a/src/core/lib/transport/metadata_batch.h +++ b/src/core/lib/transport/metadata_batch.h @@ -41,6 +41,7 @@ typedef struct grpc_linked_mdelem { typedef struct grpc_mdelem_list { size_t count; + size_t static_count; grpc_linked_mdelem *head; grpc_linked_mdelem *tail; } grpc_mdelem_list; |