class Tipi::Websocket
Websocket
connection
Constants
- OutgoingFrame
Public Class Methods
handler(&block)
click to toggle source
# File lib/tipi/websocket.rb, line 9 def self.handler(&block) proc do |adapter, headers| req = Qeweney::Request.new(headers, adapter) websocket = req.upgrade_to_websocket block.(websocket) end end
new(conn, headers)
click to toggle source
# File lib/tipi/websocket.rb, line 17 def initialize(conn, headers) @conn = conn @headers = headers @version = headers['sec-websocket-version'].to_i @reader = ::WebSocket::Frame::Incoming::Server.new(version: @version) end
Public Instance Methods
close()
click to toggle source
# File lib/tipi/websocket.rb, line 62 def close @conn.close end
recv()
click to toggle source
# File lib/tipi/websocket.rb, line 24 def recv if (msg = @reader.next) return msg.to_s end @conn.recv_loop do |data| @reader << data if (msg = @reader.next) return msg.to_s end end nil end
recv_loop() { |msg| ... }
click to toggle source
# File lib/tipi/websocket.rb, line 39 def recv_loop if (msg = @reader.next) yield msg.to_s end @conn.recv_loop do |data| @reader << data while (msg = @reader.next) yield msg.to_s end end end
send(data)
click to toggle source
# File lib/tipi/websocket.rb, line 54 def send(data) frame = OutgoingFrame.new( version: @version, data: data, type: :text ) @conn << frame.to_s end
Also aliased as: <<