Class: YouTubeIt::GreedyChainIO
- Inherits:
-
ChainIO
- Object
- ChainIO
- 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
- BIG_CHUNK =
500 kb
512 * 1024
Instance Attribute Summary
Attributes inherited from ChainIO
Instance Method Summary (collapse)
-
- (GreedyChainIO) initialize(*with_ios)
constructor
A new instance of GreedyChainIO.
- - (Object) length
- - (Object) read(any_buffer_size)
Methods inherited from ChainIO
Constructor Details
- (GreedyChainIO) initialize(*with_ios)
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
- (Object) length
70 71 72 |
# File 'lib/youtube_it/chain_io.rb', line 70 def length() __getobj__.expected_length end |
- (Object) read(any_buffer_size)
66 67 68 |
# File 'lib/youtube_it/chain_io.rb', line 66 def read(any_buffer_size) __getobj__.read(BIG_CHUNK) end |