|
|
|
@ -1140,10 +1140,15 @@ static void perform_stream_op_locked(grpc_exec_ctx *exec_ctx, |
|
|
|
|
transport_global->settings[GRPC_PEER_SETTINGS] |
|
|
|
|
[GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE]; |
|
|
|
|
if (metadata_size > metadata_peer_limit) { |
|
|
|
|
gpr_log(GPR_DEBUG, |
|
|
|
|
"to-be-sent initial metadata size exceeds peer limit " |
|
|
|
|
"(%lu vs. %lu)", |
|
|
|
|
metadata_size, metadata_peer_limit); |
|
|
|
|
grpc_chttp2_complete_closure_step( |
|
|
|
|
exec_ctx, transport_global, stream_global, |
|
|
|
|
&stream_global->send_initial_metadata_finished, |
|
|
|
|
grpc_error_set_int( |
|
|
|
|
grpc_error_set_int( |
|
|
|
|
GRPC_ERROR_CREATE( |
|
|
|
|
"to-be-sent initial metadata size exceeds peer limit"), |
|
|
|
|
GRPC_ERROR_INT_SIZE, (intptr_t)metadata_size), |
|
|
|
|
GRPC_ERROR_INT_LIMIT, (intptr_t)metadata_peer_limit)); |
|
|
|
|
cancel_from_api(exec_ctx, transport_global, stream_global, |
|
|
|
|
GRPC_STATUS_RESOURCE_EXHAUSTED); |
|
|
|
|
} else { |
|
|
|
|