|
|
|
@ -369,7 +369,17 @@ const grpc_channel_filter grpc_server_deadline_filter = { |
|
|
|
|
} |
|
|
|
|
return next_promise_factory(std::move(call_args)); |
|
|
|
|
}, |
|
|
|
|
/* init_call: */ nullptr, |
|
|
|
|
[](grpc_channel_element* elem, grpc_core::CallSpineInterface* spine) { |
|
|
|
|
spine->client_initial_metadata().receiver.InterceptAndMap( |
|
|
|
|
[](grpc_core::ClientMetadataHandle md) { |
|
|
|
|
auto deadline = md->get(grpc_core::GrpcTimeoutMetadata()); |
|
|
|
|
if (deadline.has_value()) { |
|
|
|
|
grpc_core::GetContext<grpc_core::CallContext>()->UpdateDeadline( |
|
|
|
|
*deadline); |
|
|
|
|
} |
|
|
|
|
return md; |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
grpc_channel_next_op, |
|
|
|
|
sizeof(server_call_data), |
|
|
|
|
deadline_init_call_elem, |
|
|
|
|