Skip to content

Commit 4bb69ec

Browse files
committed
Improve performance by using read_partial.
1 parent 813410a commit 4bb69ec

File tree

2 files changed

+2
-6
lines changed

2 files changed

+2
-6
lines changed

async-http.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
1717
spec.require_paths = ["lib"]
1818

1919
spec.add_dependency("async", "~> 1.6")
20-
spec.add_dependency("async-io", "~> 1.7")
20+
spec.add_dependency("async-io", "~> 1.8")
2121

2222
spec.add_dependency("http-2", "~> 0.9.0")
2323
# spec.add_dependency("openssl")

lib/async/http/body/fixed.rb

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ module Async
2424
module HTTP
2525
module Body
2626
class Fixed < Readable
27-
CHUNK_SIZE = 1024*8
28-
2927
def initialize(stream, length)
3028
@stream = stream
3129
@length = length
@@ -38,9 +36,7 @@ def empty?
3836

3937
def read
4038
if @remaining > 0
41-
amount = [@remaining, CHUNK_SIZE].min
42-
43-
if chunk = @stream.read(amount)
39+
if chunk = @stream.read_partial(@remaining)
4440
@remaining -= chunk.bytesize
4541

4642
return chunk

0 commit comments

Comments
 (0)