Class: YouTubeIt::GreedyChainIO
- Defined in:
- lib/youtube_it/chain_io.rb
Overview
Net::HTTP only can send chunks of 1024 bytes. This is very inefficient, so we have a spare IO that will send more when asked for 1024. We use delegation because the read call is recursive.
Constant Summary collapse
- BIG_CHUNK =
500 kb
512 * 1024
Instance Attribute Summary
Attributes inherited from ChainIO
Instance Method Summary collapse
-
#initialize(*with_ios) ⇒ GreedyChainIO
constructor
A new instance of GreedyChainIO.
- #length ⇒ Object
- #read(any_buffer_size) ⇒ Object
Methods inherited from ChainIO
Constructor Details
#initialize(*with_ios) ⇒ GreedyChainIO
Returns a new instance of GreedyChainIO.
62 63 64 |
# File 'lib/youtube_it/chain_io.rb', line 62 def initialize(*with_ios) __setobj__(YouTubeIt::ChainIO.new(with_ios)) end |
Instance Method Details
#length ⇒ Object
70 71 72 |
# File 'lib/youtube_it/chain_io.rb', line 70 def length() __getobj__.expected_length end |
#read(any_buffer_size) ⇒ Object
66 67 68 |
# File 'lib/youtube_it/chain_io.rb', line 66 def read(any_buffer_size) __getobj__.read(BIG_CHUNK) end |