Revert changes and remove max age filter channel args for inproc

pull/20317/head
Yash Tibrewal 5 years ago
parent a0548c7c7d
commit 769e8a37cc
  1. 3
      src/core/ext/filters/max_age/max_age_filter.cc
  2. 19
      src/core/ext/transport/inproc/inproc_transport.cc

@ -29,6 +29,9 @@
#include "src/core/lib/surface/channel_init.h"
#include "src/core/lib/transport/http2_errors.h"
/* If these settings change, make sure that we are not sending a GOAWAY for
* inproc transport, since a GOAWAY to inproc ends up destroying the transport.
*/
#define DEFAULT_MAX_CONNECTION_AGE_MS INT_MAX
#define DEFAULT_MAX_CONNECTION_AGE_GRACE_MS INT_MAX
#define DEFAULT_MAX_CONNECTION_IDLE_MS INT_MAX

@ -1123,16 +1123,19 @@ void perform_transport_op(grpc_transport* gt, grpc_transport_op* op) {
GRPC_CLOSURE_SCHED(op->on_consumed, GRPC_ERROR_NONE);
}
bool do_close = false;
if (op->goaway_error != GRPC_ERROR_NONE) {
/* Simply ignore goaway_error in inproc */
do_close = true;
GRPC_ERROR_UNREF(op->goaway_error);
}
if (op->disconnect_with_error != GRPC_ERROR_NONE) {
do_close = true;
GRPC_ERROR_UNREF(op->disconnect_with_error);
close_transport_locked(t);
}
if (do_close) {
close_transport_locked(t);
}
gpr_mu_unlock(&t->mu->mu);
}
@ -1223,10 +1226,15 @@ grpc_channel* grpc_inproc_channel_create(grpc_server* server,
grpc_core::ExecCtx exec_ctx;
const grpc_channel_args* server_args = grpc_server_get_channel_args(server);
// Remove max_connection_idle and max_connection_age channel arguments since
// those do not apply to inproc transports.
const char* args_to_remove[] = {GRPC_ARG_MAX_CONNECTION_IDLE_MS,
GRPC_ARG_MAX_CONNECTION_AGE_MS};
const grpc_channel_args* server_args = grpc_channel_args_copy_and_remove(
grpc_server_get_channel_args(server), args_to_remove,
GPR_ARRAY_SIZE(args_to_remove));
// Add a default authority channel argument for the client
grpc_arg default_authority_arg;
default_authority_arg.type = GRPC_ARG_STRING;
default_authority_arg.key = (char*)GRPC_ARG_DEFAULT_AUTHORITY;
@ -1246,6 +1254,7 @@ grpc_channel* grpc_inproc_channel_create(grpc_server* server,
"inproc", client_args, GRPC_CLIENT_DIRECT_CHANNEL, client_transport);
// Free up created channel args
grpc_channel_args_destroy(server_args);
grpc_channel_args_destroy(client_args);
// Now finish scheduled operations

Loading…
Cancel
Save