               @timestampIndex++
 
           line = {data, offset, timestamp, @timestampIndex, @taskId}
-          offset += data.length + 1
+          offset += data.length
 
           line
 

              res.timestamp = @firstTimestamp.subtract(1, 'ms')

        res

    growRequestLength: (previousParseTimestamp, lastParseTimestamp) ->
        return if !previousParseTimestamp? or !lastParseTimestamp?

        # Only grow the request length if we request quickly in succession
        delta = lastParseTimestamp - previousParseTimestamp

        if delta < 5000 and @state.get('currentRequestLength') <= @maxRequestLength
            newRequestLength = parseInt(@state.get('currentRequestLength') * @requestLengthGrowthFactor, 10)
            newRequestLength = @maxRequestLength if newRequestLength > @maxRequestLength

            @state.set('currentRequestLength', newRequestLength)

    shrinkRequestLength: ->
        return if @state.get('currentRequestLength') <= @baseRequestLength

        newRequestLength = parseInt(@state.get('currentRequestLength') / @requestLengthGrowthFactor, 10)
        newRequestLength = @baseRequestLength if newRequestLength < @baseRequestLength

        @state.set('currentRequestLength', newRequestLength)


    # Static Methods -----------------------------------------------------------

    fetch: (params = {}) ->
        defaultParams =
            remove: false
            data: _.extend {@path, length: @baseRequestLength, grep: @grep}, params.data

        request = super(_.extend params, defaultParams)

