aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/transport/metadata_batch.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/lib/transport/metadata_batch.cc')
-rw-r--r--src/core/lib/transport/metadata_batch.cc79
1 files changed, 34 insertions, 45 deletions
diff --git a/src/core/lib/transport/metadata_batch.cc b/src/core/lib/transport/metadata_batch.cc
index 5817765aa3..9c95339ba0 100644
--- a/src/core/lib/transport/metadata_batch.cc
+++ b/src/core/lib/transport/metadata_batch.cc
@@ -51,8 +51,7 @@ static void assert_valid_list(grpc_mdelem_list* list) {
#endif /* NDEBUG */
}
-static void assert_valid_callouts(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch) {
+static void assert_valid_callouts(grpc_metadata_batch* batch) {
#ifndef NDEBUG
for (grpc_linked_mdelem* l = batch->list.head; l != nullptr; l = l->next) {
grpc_slice key_interned = grpc_slice_intern(GRPC_MDKEY(l->md));
@@ -61,7 +60,7 @@ static void assert_valid_callouts(grpc_exec_ctx* exec_ctx,
if (callout_idx != GRPC_BATCH_CALLOUTS_COUNT) {
GPR_ASSERT(batch->idx.array[callout_idx] == l);
}
- grpc_slice_unref_internal(exec_ctx, key_interned);
+ grpc_slice_unref_internal(key_interned);
}
#endif
}
@@ -77,11 +76,10 @@ void grpc_metadata_batch_init(grpc_metadata_batch* batch) {
batch->deadline = GRPC_MILLIS_INF_FUTURE;
}
-void grpc_metadata_batch_destroy(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch) {
+void grpc_metadata_batch_destroy(grpc_metadata_batch* batch) {
grpc_linked_mdelem* l;
for (l = batch->list.head; l; l = l->next) {
- GRPC_MDELEM_UNREF(exec_ctx, l->md);
+ GRPC_MDELEM_UNREF(l->md);
}
}
@@ -126,13 +124,12 @@ static void maybe_unlink_callout(grpc_metadata_batch* batch,
batch->idx.array[idx] = nullptr;
}
-grpc_error* grpc_metadata_batch_add_head(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch,
+grpc_error* grpc_metadata_batch_add_head(grpc_metadata_batch* batch,
grpc_linked_mdelem* storage,
grpc_mdelem elem_to_add) {
GPR_ASSERT(!GRPC_MDISNULL(elem_to_add));
storage->md = elem_to_add;
- return grpc_metadata_batch_link_head(exec_ctx, batch, storage);
+ return grpc_metadata_batch_link_head(batch, storage);
}
static void link_head(grpc_mdelem_list* list, grpc_linked_mdelem* storage) {
@@ -150,27 +147,25 @@ static void link_head(grpc_mdelem_list* list, grpc_linked_mdelem* storage) {
assert_valid_list(list);
}
-grpc_error* grpc_metadata_batch_link_head(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch,
+grpc_error* grpc_metadata_batch_link_head(grpc_metadata_batch* batch,
grpc_linked_mdelem* storage) {
- assert_valid_callouts(exec_ctx, batch);
+ assert_valid_callouts(batch);
grpc_error* err = maybe_link_callout(batch, storage);
if (err != GRPC_ERROR_NONE) {
- assert_valid_callouts(exec_ctx, batch);
+ assert_valid_callouts(batch);
return err;
}
link_head(&batch->list, storage);
- assert_valid_callouts(exec_ctx, batch);
+ assert_valid_callouts(batch);
return GRPC_ERROR_NONE;
}
-grpc_error* grpc_metadata_batch_add_tail(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch,
+grpc_error* grpc_metadata_batch_add_tail(grpc_metadata_batch* batch,
grpc_linked_mdelem* storage,
grpc_mdelem elem_to_add) {
GPR_ASSERT(!GRPC_MDISNULL(elem_to_add));
storage->md = elem_to_add;
- return grpc_metadata_batch_link_tail(exec_ctx, batch, storage);
+ return grpc_metadata_batch_link_tail(batch, storage);
}
static void link_tail(grpc_mdelem_list* list, grpc_linked_mdelem* storage) {
@@ -189,17 +184,16 @@ static void link_tail(grpc_mdelem_list* list, grpc_linked_mdelem* storage) {
assert_valid_list(list);
}
-grpc_error* grpc_metadata_batch_link_tail(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch,
+grpc_error* grpc_metadata_batch_link_tail(grpc_metadata_batch* batch,
grpc_linked_mdelem* storage) {
- assert_valid_callouts(exec_ctx, batch);
+ assert_valid_callouts(batch);
grpc_error* err = maybe_link_callout(batch, storage);
if (err != GRPC_ERROR_NONE) {
- assert_valid_callouts(exec_ctx, batch);
+ assert_valid_callouts(batch);
return err;
}
link_tail(&batch->list, storage);
- assert_valid_callouts(exec_ctx, batch);
+ assert_valid_callouts(batch);
return GRPC_ERROR_NONE;
}
@@ -220,31 +214,28 @@ static void unlink_storage(grpc_mdelem_list* list,
assert_valid_list(list);
}
-void grpc_metadata_batch_remove(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch,
+void grpc_metadata_batch_remove(grpc_metadata_batch* batch,
grpc_linked_mdelem* storage) {
- assert_valid_callouts(exec_ctx, batch);
+ assert_valid_callouts(batch);
maybe_unlink_callout(batch, storage);
unlink_storage(&batch->list, storage);
- GRPC_MDELEM_UNREF(exec_ctx, storage->md);
- assert_valid_callouts(exec_ctx, batch);
+ GRPC_MDELEM_UNREF(storage->md);
+ assert_valid_callouts(batch);
}
-void grpc_metadata_batch_set_value(grpc_exec_ctx* exec_ctx,
- grpc_linked_mdelem* storage,
+void grpc_metadata_batch_set_value(grpc_linked_mdelem* storage,
grpc_slice value) {
grpc_mdelem old_mdelem = storage->md;
grpc_mdelem new_mdelem = grpc_mdelem_from_slices(
- exec_ctx, grpc_slice_ref_internal(GRPC_MDKEY(old_mdelem)), value);
+ grpc_slice_ref_internal(GRPC_MDKEY(old_mdelem)), value);
storage->md = new_mdelem;
- GRPC_MDELEM_UNREF(exec_ctx, old_mdelem);
+ GRPC_MDELEM_UNREF(old_mdelem);
}
-grpc_error* grpc_metadata_batch_substitute(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch,
+grpc_error* grpc_metadata_batch_substitute(grpc_metadata_batch* batch,
grpc_linked_mdelem* storage,
grpc_mdelem new_mdelem) {
- assert_valid_callouts(exec_ctx, batch);
+ assert_valid_callouts(batch);
grpc_error* error = GRPC_ERROR_NONE;
grpc_mdelem old_mdelem = storage->md;
if (!grpc_slice_eq(GRPC_MDKEY(new_mdelem), GRPC_MDKEY(old_mdelem))) {
@@ -253,19 +244,18 @@ grpc_error* grpc_metadata_batch_substitute(grpc_exec_ctx* exec_ctx,
error = maybe_link_callout(batch, storage);
if (error != GRPC_ERROR_NONE) {
unlink_storage(&batch->list, storage);
- GRPC_MDELEM_UNREF(exec_ctx, storage->md);
+ GRPC_MDELEM_UNREF(storage->md);
}
} else {
storage->md = new_mdelem;
}
- GRPC_MDELEM_UNREF(exec_ctx, old_mdelem);
- assert_valid_callouts(exec_ctx, batch);
+ GRPC_MDELEM_UNREF(old_mdelem);
+ assert_valid_callouts(batch);
return error;
}
-void grpc_metadata_batch_clear(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch) {
- grpc_metadata_batch_destroy(exec_ctx, batch);
+void grpc_metadata_batch_clear(grpc_metadata_batch* batch) {
+ grpc_metadata_batch_destroy(batch);
grpc_metadata_batch_init(batch);
}
@@ -292,8 +282,7 @@ static void add_error(grpc_error** composite, grpc_error* error,
*composite = grpc_error_add_child(*composite, error);
}
-grpc_error* grpc_metadata_batch_filter(grpc_exec_ctx* exec_ctx,
- grpc_metadata_batch* batch,
+grpc_error* grpc_metadata_batch_filter(grpc_metadata_batch* batch,
grpc_metadata_batch_filter_func func,
void* user_data,
const char* composite_error_string) {
@@ -301,12 +290,12 @@ grpc_error* grpc_metadata_batch_filter(grpc_exec_ctx* exec_ctx,
grpc_error* error = GRPC_ERROR_NONE;
while (l) {
grpc_linked_mdelem* next = l->next;
- grpc_filtered_mdelem new_mdelem = func(exec_ctx, user_data, l->md);
+ grpc_filtered_mdelem new_mdelem = func(user_data, l->md);
add_error(&error, new_mdelem.error, composite_error_string);
if (GRPC_MDISNULL(new_mdelem.md)) {
- grpc_metadata_batch_remove(exec_ctx, batch, l);
+ grpc_metadata_batch_remove(batch, l);
} else if (new_mdelem.md.payload != l->md.payload) {
- grpc_metadata_batch_substitute(exec_ctx, batch, l, new_mdelem.md);
+ grpc_metadata_batch_substitute(batch, l, new_mdelem.md);
}
l = next;
}