def process_long_poll(result)
      case result
      when Exceptions::Unauthorized, Exceptions::ConnectivityFailure, Exceptions::RetryableError, Exceptions::InternalServerError
        # Reset connect_interval otherwise long-poll and WebSocket connect attempts will continue to backoff
        @connect_interval = CONNECT_INTERVAL
        update_listen_state(:choose, backoff_reconnect_interval)
        result = nil
      when Exception
        ErrorTracker.track(self, result)
        update_listen_state(:choose, backoff_reconnect_interval)
        result = nil
      else
        @reconnect_interval = RECONNECT_INTERVAL
        @communicated_callbacks.each { |callback| callback.call } if @communicated_callbacks
        update_listen_state(:choose)
      end
      result
    end
def process_long_poll(result)
      case result
      when Exceptions::Unauthorized, Exceptions::ConnectivityFailure, Exceptions::RetryableError, Exceptions::InternalServerError
        # Reset connect_interval otherwise long-poll and WebSocket connect attempts will continue to backoff
        @connect_interval = CONNECT_INTERVAL
        update_listen_state(:choose, backoff_reconnect_interval)
        result = nil
      when Exception
        ErrorTracker.track(self, result)
        update_listen_state(:choose, backoff_reconnect_interval)
        result = nil
      else
        @reconnect_interval = RECONNECT_INTERVAL
        @communicated_callbacks.each { |callback| callback.call } if @communicated_callbacks
        update_listen_state(:choose)
      end
      result
    end
Process result from long-polling attempt
 Not necessary to log failure since should already have been done by underlying HTTP client

 @param [Array, NilClass] result from long-polling attempt

 @return [Array, NilClass] result for long-polling attempt