static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
+const char* const description_skip_clear_peer_on_cancellation =
+ "If set, skips clearing of peer string on call cancellation.";
+const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
const char* const description_sleep_promise_exec_ctx_removal =
"If set, polling the sleep promise does not rely on the ExecCtx.";
const char* const additional_constraints_sleep_promise_exec_ctx_removal = "{}";
description_secure_endpoint_offload_large_writes,
additional_constraints_secure_endpoint_offload_large_writes,
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
+ {"skip_clear_peer_on_cancellation",
+ description_skip_clear_peer_on_cancellation,
+ additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
+ true},
{"sleep_promise_exec_ctx_removal",
description_sleep_promise_exec_ctx_removal,
additional_constraints_sleep_promise_exec_ctx_removal, nullptr, 0, false,
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
+const char* const description_skip_clear_peer_on_cancellation =
+ "If set, skips clearing of peer string on call cancellation.";
+const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
const char* const description_sleep_promise_exec_ctx_removal =
"If set, polling the sleep promise does not rely on the ExecCtx.";
const char* const additional_constraints_sleep_promise_exec_ctx_removal = "{}";
description_secure_endpoint_offload_large_writes,
additional_constraints_secure_endpoint_offload_large_writes,
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
+ {"skip_clear_peer_on_cancellation",
+ description_skip_clear_peer_on_cancellation,
+ additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
+ true},
{"sleep_promise_exec_ctx_removal",
description_sleep_promise_exec_ctx_removal,
additional_constraints_sleep_promise_exec_ctx_removal, nullptr, 0, false,
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
+const char* const description_skip_clear_peer_on_cancellation =
+ "If set, skips clearing of peer string on call cancellation.";
+const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
const char* const description_sleep_promise_exec_ctx_removal =
"If set, polling the sleep promise does not rely on the ExecCtx.";
const char* const additional_constraints_sleep_promise_exec_ctx_removal = "{}";
description_secure_endpoint_offload_large_writes,
additional_constraints_secure_endpoint_offload_large_writes,
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
+ {"skip_clear_peer_on_cancellation",
+ description_skip_clear_peer_on_cancellation,
+ additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
+ true},
{"sleep_promise_exec_ctx_removal",
description_sleep_promise_exec_ctx_removal,
additional_constraints_sleep_promise_exec_ctx_removal, nullptr, 0, false,
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
+inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
inline bool IsSleepUseNonOwningWakerEnabled() { return false; }
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
+inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
inline bool IsSleepUseNonOwningWakerEnabled() { return false; }
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
+inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
inline bool IsSleepUseNonOwningWakerEnabled() { return false; }
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
kExperimentIdScheduleCancellationOverWrite,
kExperimentIdSecureEndpointOffloadLargeReads,
kExperimentIdSecureEndpointOffloadLargeWrites,
+ kExperimentIdSkipClearPeerOnCancellation,
kExperimentIdSleepPromiseExecCtxRemoval,
kExperimentIdSleepUseNonOwningWaker,
kExperimentIdSubchannelWrapperCleanupOnOrphan,
inline bool IsSecureEndpointOffloadLargeWritesEnabled() {
return IsExperimentEnabled<kExperimentIdSecureEndpointOffloadLargeWrites>();
}
+#define GRPC_EXPERIMENT_IS_INCLUDED_SKIP_CLEAR_PEER_ON_CANCELLATION
+inline bool IsSkipClearPeerOnCancellationEnabled() {
+ return IsExperimentEnabled<kExperimentIdSkipClearPeerOnCancellation>();
+}
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_PROMISE_EXEC_CTX_REMOVAL
inline bool IsSleepPromiseExecCtxRemovalEnabled() {
return IsExperimentEnabled<kExperimentIdSleepPromiseExecCtxRemoval>();