Method: ContentServer::FileStreamer#reset_stream

Defined in:
lib/content_server/file_streamer.rb

#reset_stream(checksum, path, offset) ⇒ Object



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'lib/content_server/file_streamer.rb', line 125

def reset_stream(checksum, path, offset)
  if !@streams.key? checksum
    begin
      file = File.new(path, 'rb')
      if offset > 0
        file.seek(offset)
      end
      Log.debug1("File streamer: %s.", file)
      @streams[checksum] = Stream.new(checksum, path, file, file.size)
      $process_vars.set('Streams size', @streams.size)
    rescue IOError, Errno::ENOENT => e
      Log.warning("Could not stream local file #{path}. #{e.to_s}")
    end
  else
    @streams[checksum].file.seek(offset)
  end
end