# File lib/taps/data_stream.rb, line 112
  def fetch
    log.debug "DataStream#fetch state -> #{state.inspect}"

    t1 = Time.now
    rows = fetch_rows
    encoded_data = encode_rows(rows)
    t2 = Time.now
    elapsed_time = t2 - t1

    @complete = rows == { }

    [encoded_data, (@complete ? 0 : rows[:data].size), elapsed_time]
  end