Class: WebSocket::Driver::Draft76
- Inherits:
-
Draft75
- Object
- WebSocket::Driver
- Draft75
- WebSocket::Driver::Draft76
- Defined in:
- lib/websocket/driver/draft76.rb
Constant Summary collapse
- BODY_SIZE =
8
Constants inherited from WebSocket::Driver
Instance Attribute Summary
Attributes inherited from WebSocket::Driver
Instance Method Summary collapse
- #close(reason = nil, code = nil) ⇒ Object
-
#initialize(socket, options = {}) ⇒ Draft76
constructor
A new instance of Draft76.
- #start ⇒ Object
- #version ⇒ Object
Methods inherited from Draft75
Methods inherited from WebSocket::Driver
#binary, #ping, #set_header, #state, #text
Methods included from EventEmitter
#add_listener, #emit, #listener_count, #listeners, #on, #remove_all_listeners, #remove_listener
Constructor Details
#initialize(socket, options = {}) ⇒ Draft76
Returns a new instance of Draft76.
7 8 9 10 11 12 |
# File 'lib/websocket/driver/draft76.rb', line 7 def initialize(socket, = {}) super input = @socket.env['rack.input'] @stage = -1 @body = input ? input.read.bytes.to_a : [] end |
Instance Method Details
#close(reason = nil, code = nil) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/websocket/driver/draft76.rb', line 24 def close(reason = nil, code = nil) return false if @ready_state == 3 @socket.write(Driver.encode("\xFF\x00", :binary)) @ready_state = 3 emit(:close, CloseEvent.new(nil, nil)) true end |
#start ⇒ Object
18 19 20 21 22 |
# File 'lib/websocket/driver/draft76.rb', line 18 def start return false unless super send_handshake_body true end |
#version ⇒ Object
14 15 16 |
# File 'lib/websocket/driver/draft76.rb', line 14 def version 'hixie-76' end |