class Riddl::Protocols::WebSocket
Public Class Methods
Source
# File lib/ruby/riddl/protocols/websocket.rb, line 69 def self.new(*args) instance = allocate instance.__send__(:initialize, *args) instance end
Source
# File lib/ruby/riddl/protocols/websocket.rb, line 95 def initialize(app, socket) @app = app @socket = socket @ssl = socket.backend.respond_to?(:ssl?) && socket.backend.ssl? @closed = true socket.websocket = self socket.comm_inactivity_timeout = 0 end
Public Instance Methods
Source
# File lib/ruby/riddl/protocols/websocket.rb, line 81 def close_connection(*args) EM.next_tick do unless closed? @socket.close_connection(*args) trigger_on_close end end end
Source
# File lib/ruby/riddl/protocols/websocket.rb, line 75 def send_data(data) EM.next_tick do @socket.send_data(data) unless closed? end end
Source
# File lib/ruby/riddl/protocols/websocket.rb, line 92 def trigger_on_close; @closed = true; @app.onclose; end
Source
# File lib/ruby/riddl/protocols/websocket.rb, line 93 def trigger_on_error(error); @closed = true; @app.onerror(error); true; end
Source
# File lib/ruby/riddl/protocols/websocket.rb, line 90 def trigger_on_message(msg); @app.onmessage(msg); end
Source
# File lib/ruby/riddl/protocols/websocket.rb, line 91 def trigger_on_open(handshake); @closed = false; @app.onopen; end