Lines Matching refs:chand

152 static void increase_call_count(channel_data* chand) {
154 if (gpr_atm_full_fetch_add(&chand->call_count, 1) == 0) {
156 gpr_atm idle_state = gpr_atm_acq_load(&chand->idle_state);
162 gpr_atm_rel_cas(&chand->idle_state, MAX_IDLE_STATE_TIMER_SET,
166 gpr_atm_rel_store(&chand->idle_state, MAX_IDLE_STATE_SEEN_EXIT_IDLE);
178 static void decrease_call_count(channel_data* chand) {
180 if (gpr_atm_full_fetch_add(&chand->call_count, -1) == 1) {
181 gpr_atm_no_barrier_store(&chand->last_enter_idle_time_millis,
184 gpr_atm idle_state = gpr_atm_acq_load(&chand->idle_state);
187 GRPC_CHANNEL_STACK_REF(chand->channel_stack,
190 &chand->max_idle_timer,
191 grpc_core::ExecCtx::Get()->Now() + chand->max_connection_idle,
192 &chand->max_idle_timer_cb);
193 gpr_atm_rel_store(&chand->idle_state, MAX_IDLE_STATE_TIMER_SET);
196 if (gpr_atm_rel_cas(&chand->idle_state, MAX_IDLE_STATE_SEEN_EXIT_IDLE,
211 channel_data* chand = static_cast<channel_data*>(arg);
215 decrease_call_count(chand);
216 GRPC_CHANNEL_STACK_UNREF(chand->channel_stack,
224 explicit ConnectivityWatcher(channel_data* chand) : chand_(chand) {
264 channel_data* chand = static_cast<channel_data*>(arg);
266 grpc_core::MutexLock lock(&chand->max_age_timer_mu);
267 chand->max_age_timer_pending = true;
268 GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_timer");
270 &chand->max_age_timer,
271 grpc_core::ExecCtx::Get()->Now() + chand->max_connection_age,
272 &chand->close_max_age_channel);
275 op->start_connectivity_watch.reset(new grpc_core::ConnectivityWatcher(chand));
277 grpc_channel_next_op(grpc_channel_stack_element(chand->channel_stack, 0), op);
278 GRPC_CHANNEL_STACK_UNREF(chand->channel_stack,
284 channel_data* chand = static_cast<channel_data*>(arg);
286 grpc_core::MutexLock lock(&chand->max_age_timer_mu);
287 chand->max_age_grace_timer_pending = true;
288 GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_grace_timer");
289 grpc_timer_init(&chand->max_age_grace_timer,
290 chand->max_connection_age_grace == GRPC_MILLIS_INF_FUTURE
293 chand->max_connection_age_grace,
294 &chand->force_close_max_age_channel);
296 GRPC_CHANNEL_STACK_UNREF(chand->channel_stack,
300 static void close_max_idle_channel(channel_data* chand) {
302 gpr_atm_no_barrier_fetch_add(&chand->call_count, 1);
308 grpc_channel_stack_element(chand->channel_stack, 0);
313 channel_data* chand = static_cast<channel_data*>(arg);
317 gpr_atm idle_state = gpr_atm_acq_load(&chand->idle_state);
320 close_max_idle_channel(chand);
323 gpr_atm_rel_store(&chand->idle_state, MAX_IDLE_STATE_INIT);
327 if (gpr_atm_rel_cas(&chand->idle_state, MAX_IDLE_STATE_SEEN_EXIT_IDLE,
333 GRPC_CHANNEL_STACK_REF(chand->channel_stack,
335 grpc_timer_init(&chand->max_idle_timer,
337 &chand->last_enter_idle_time_millis)) +
338 chand->max_connection_idle,
339 &chand->max_idle_timer_cb);
343 gpr_atm_rel_cas(&chand->idle_state, MAX_IDLE_STATE_SEEN_ENTER_IDLE,
353 GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_idle_timer");
357 channel_data* chand = static_cast<channel_data*>(arg);
359 grpc_core::MutexLock lock(&chand->max_age_timer_mu);
360 chand->max_age_timer_pending = false;
363 GRPC_CHANNEL_STACK_REF(chand->channel_stack,
366 &chand->start_max_age_grace_timer_after_goaway_op);
371 grpc_channel_stack_element(chand->channel_stack, 0);
376 GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_age_timer");
380 channel_data* chand = static_cast<channel_data*>(arg);
382 grpc_core::MutexLock lock(&chand->max_age_timer_mu);
383 chand->max_age_grace_timer_pending = false;
390 grpc_channel_stack_element(chand->channel_stack, 0);
395 GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_age_grace_timer");
419 channel_data* chand = static_cast<channel_data*>(elem->channel_data);
420 increase_call_count(chand);
428 channel_data* chand = static_cast<channel_data*>(elem->channel_data);
429 decrease_call_count(chand);
435 channel_data* chand = static_cast<channel_data*>(elem->channel_data);
436 new (chand) channel_data();
437 chand->channel_stack = args->channel_stack;
438 chand->max_connection_age =
441 chand->max_connection_age_grace =
445 chand->max_connection_idle = DEFAULT_MAX_CONNECTION_IDLE_MS == INT_MAX
448 chand->idle_state = MAX_IDLE_STATE_INIT;
449 gpr_atm_no_barrier_store(&chand->last_enter_idle_time_millis, GPR_ATM_MIN);
455 chand->max_connection_age =
463 chand->max_connection_age_grace =
469 chand->max_connection_idle =
473 GRPC_CLOSURE_INIT(&chand->max_idle_timer_cb, max_idle_timer_cb, chand,
475 GRPC_CLOSURE_INIT(&chand->close_max_age_channel, close_max_age_channel, chand,
477 GRPC_CLOSURE_INIT(&chand->force_close_max_age_channel,
478 force_close_max_age_channel, chand,
480 GRPC_CLOSURE_INIT(&chand->start_max_idle_timer_after_init,
481 start_max_idle_timer_after_init, chand,
483 GRPC_CLOSURE_INIT(&chand->start_max_age_timer_after_init,
484 start_max_age_timer_after_init, chand,
486 GRPC_CLOSURE_INIT(&chand->start_max_age_grace_timer_after_goaway_op,
487 start_max_age_grace_timer_after_goaway_op, chand,
490 if (chand->max_connection_age != GRPC_MILLIS_INF_FUTURE) {
498 GRPC_CHANNEL_STACK_REF(chand->channel_stack,
501 &chand->start_max_age_timer_after_init,
507 gpr_atm_rel_store(&chand->call_count, 1);
508 if (chand->max_connection_idle != GRPC_MILLIS_INF_FUTURE) {
509 GRPC_CHANNEL_STACK_REF(chand->channel_stack,
512 &chand->start_max_idle_timer_after_init,
520 channel_data* chand = static_cast<channel_data*>(elem->channel_data);
521 chand->~channel_data();