Class: HT2P::Client::Response::Transfer

Inherits:
Object
  • Object
show all
Defined in:
lib/ht2p/client/response.rb

Direct Known Subclasses

Chunked

Instance Method Summary collapse

Constructor Details

#initialize(client, size) ⇒ Transfer

Returns a new instance of Transfer.



38
39
40
# File 'lib/ht2p/client/response.rb', line 38

def initialize(client, size)
  @client, @size = client, size
end

Instance Method Details

#read(length = nil) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/ht2p/client/response.rb', line 42

def read(length=nil)
  if @size.nil?
    @client.read length
  elsif @size > 0
    length ||= @size
    length = @size if @size < length
    @size -= length

    @client.read length
  else
    nil
  end
end