class NIO::WebSocket::Adapter

Attributes

driver[R]

Public Class Methods

new(io, driver, options) click to toggle source
Calls superclass method
# File lib/nio/websocket/adapter.rb, line 6
def initialize(io, driver, options)
  @driver = driver

  driver.on :close do |ev|
    WebSocket.logger.info "Driver initiated #{inner} close (code #{ev.code}): #{ev.reason}"
    close :driver
  end
  driver.on :error do |ev|
    WebSocket.logger.error "Driver reports error on #{inner}: #{ev.message}"
    close :driver
  end

  super io, options
end

Public Instance Methods

close(from = nil) click to toggle source
Calls superclass method
# File lib/nio/websocket/adapter.rb, line 29
def close(from = nil)
  driver.close if from.nil? && !closing
  super()
end
read() click to toggle source
Calls superclass method
# File lib/nio/websocket/adapter.rb, line 34
def read
  super do |data|
    driver.parse data
  end
end
teardown() click to toggle source
Calls superclass method
# File lib/nio/websocket/adapter.rb, line 22
def teardown
  driver.force_state :closed
  driver.emit :io_error
  @driver = nil # circular reference
  super
end