Class: WEBrick::Websocket::Socket
- Inherits:
-
Object
- Object
- WEBrick::Websocket::Socket
- Defined in:
- lib/webrick/websocket/socket.rb
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(sock, handler, logger) ⇒ Socket
constructor
A new instance of Socket.
- #puts(data) ⇒ Object
- #run ⇒ Object
- #send_frame(frame) ⇒ Object
Constructor Details
#initialize(sock, handler, logger) ⇒ Socket
Returns a new instance of Socket.
6 7 8 9 10 11 12 13 |
# File 'lib/webrick/websocket/socket.rb', line 6 def initialize(sock, handler, logger) @prev = nil @sock = sock @handler = handler @open = true @logger = logger handle(:open) end |
Instance Method Details
#close ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/webrick/websocket/socket.rb', line 19 def close handle(:close) if @open @open = false send_frame(Frame.new(:close)) end end |
#puts(data) ⇒ Object
15 16 17 |
# File 'lib/webrick/websocket/socket.rb', line 15 def puts(data) send_frame(Frame.new(:text, data)) end |
#run ⇒ Object
36 37 38 |
# File 'lib/webrick/websocket/socket.rb', line 36 def run handle_packet while @open end |
#send_frame(frame) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/webrick/websocket/socket.rb', line 27 def send_frame(frame) @logger.debug("Websocket Frame Sent: #{frame.op.to_s}(#{frame.payload.length} Bytes)") if frame.close? && @open close else frame.write(@sock) end end |