about summary refs log tree commit homepage
path: root/lib/unicorn/chunked_reader.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-06-29 18:01:41 -0700
committerEric Wong <normalperson@yhbt.net>2009-06-29 18:17:36 -0700
commit41f6f65a6cb7152b5181704373d7da62704a62e8 (patch)
tree7ca9dd0d8618e11e42ca591b96d8b4f1d3f7942a /lib/unicorn/chunked_reader.rb
parent4f05fb1a3b44f8eab1a9dda26d5b115f33a149cd (diff)
downloadunicorn-41f6f65a6cb7152b5181704373d7da62704a62e8.tar.gz
This won't be heavily used enough to make preallocation worth
the effort.  While we're at it, don't enforce policy by forcing
the readpartial buffer to be Encoding::BINARY (even though it
/should/ be :), it's up to the user of the interface to decide.
Diffstat (limited to 'lib/unicorn/chunked_reader.rb')
-rw-r--r--lib/unicorn/chunked_reader.rb13
1 files changed, 2 insertions, 11 deletions
diff --git a/lib/unicorn/chunked_reader.rb b/lib/unicorn/chunked_reader.rb
index 41193d0..40d421d 100644
--- a/lib/unicorn/chunked_reader.rb
+++ b/lib/unicorn/chunked_reader.rb
@@ -6,22 +6,13 @@ module Unicorn; end
 module Unicorn
   class ChunkedReader
 
-    def initialize
-      @input = @buf = nil
-      @chunk_left = 0
-    end
-
-    def reopen(input, buf)
-      buf ||= Z.dup
-      buf.force_encoding(Encoding::BINARY) if buf.respond_to?(:force_encoding)
+    def initialize(input, buf)
       @input, @buf = input, buf
+      @chunk_left = 0
       parse_chunk_header
-      self
     end
 
     def readpartial(max, buf = Z.dup)
-      buf.force_encoding(Encoding::BINARY) if buf.respond_to?(:force_encoding)
-
       while @input && @chunk_left <= 0 && ! parse_chunk_header
         @buf << @input.readpartial(Const::CHUNK_SIZE, buf)
       end