Module: HTTPX::Plugins::StreamBidi::ConnectionMethods

Defined in:
lib/httpx/plugins/stream_bidi.rb

Overview

overrides the declaration of @write_buffer, which is now a thread-safe buffer responding to the same API.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#signal=(value) ⇒ Object (writeonly)

Sets the attribute signal

Parameters:

  • value

    the value to set the attribute signal to.



341
342
343
# File 'lib/httpx/plugins/stream_bidi.rb', line 341

def signal=(value)
  @signal = value
end

Instance Method Details

#callObject



360
361
362
363
364
# File 'lib/httpx/plugins/stream_bidi.rb', line 360

def call
  return super unless @options.stream && (error = @signal.error)

  on_error(error)
end

#initializeObject



343
344
345
346
347
348
349
# File 'lib/httpx/plugins/stream_bidi.rb', line 343

def initialize(*)
  super

  return unless @options.stream

  @write_buffer = BidiBuffer.new(@options.buffer_size)
end

#interestsObject

rebuffers the @write_buffer before calculating interests.



352
353
354
355
356
357
358
# File 'lib/httpx/plugins/stream_bidi.rb', line 352

def interests
  return super unless @options.stream

  @write_buffer.rebuffer

  super
end