class Protocol::HTTP::Body::Streamable::Output

def self.schedule(input, block)

def self.schedule(input, block)
	self.new(input, block).tap(&:schedule)
end

def close(error = nil)

def close(error = nil)
	@output.close_write(error)
end

def initialize(input, block)

def initialize(input, block)
	@output = Writable.new
	@stream = Stream.new(input, @output)
	@block = block
end

def read

def read
	@output.read
end

def schedule

def schedule
	@fiber ||= Fiber.schedule do
		@block.call(@stream)
	end
end