private bool TryToReconnect()
{
++reconnect_count_;
if (reconnect_count_ > kMaxReconnectCount)
return false;
float delay_time = 0f;
if (exponential_time_ < kMaxConnectingTime)
{
delay_time = exponential_time_;
exponential_time_ *= 2f;
}
if (delay_time <= 0f)
return false;
DebugUtils.Log("Wait {0} seconds for reconnect to {1} transport.",
delay_time, str_protocol);
timer_.AddTimer(kTryReconnectTimerId, delay_time,
delegate (object param) {
DebugUtils.Log("'{0}' Try to reconnect to server.", str_protocol);
Start();
}
);
return true;
}