void ProxyDestinationBase::onTransitionImpl()

in mcrouter/ProxyDestinationBase.cpp [295:333]


void ProxyDestinationBase::onTransitionImpl(State st, bool to) {
  const int64_t delta = to ? 1 : -1;
  const bool ssl = accessPoint()->useSsl();

  switch (st) {
    case ProxyDestinationBase::State::New: {
      proxy().stats().increment(num_servers_new_stat, delta);
      if (ssl) {
        proxy().stats().increment(num_ssl_servers_new_stat, delta);
      }
      break;
    }
    case ProxyDestinationBase::State::Up: {
      proxy().stats().increment(num_servers_up_stat, delta);
      if (ssl) {
        proxy().stats().increment(num_ssl_servers_up_stat, delta);
      }
      break;
    }
    case ProxyDestinationBase::State::Closed: {
      proxy().stats().increment(num_servers_closed_stat, delta);
      if (ssl) {
        proxy().stats().increment(num_ssl_servers_closed_stat, delta);
      }
      break;
    }
    case ProxyDestinationBase::State::Down: {
      proxy().stats().increment(num_servers_down_stat, delta);
      if (ssl) {
        proxy().stats().increment(num_ssl_servers_down_stat, delta);
      }
      break;
    }
    case ProxyDestinationBase::State::NumStates: {
      CHECK(false);
      break;
    }
  }
}