Class: Protocol::WebSocket::TextFrame

Inherits:
Frame
  • Object
show all
Defined in:
lib/protocol/websocket/text_frame.rb

Overview

Represents a text frame that is sent or received by a WebSocket connection.

Constant Summary collapse

OPCODE =
0x1

Constants inherited from Frame

Frame::RESERVED, Frame::RSV1, Frame::RSV2, Frame::RSV3

Instance Attribute Summary

Attributes inherited from Frame

#finished, #flags, #mask, #opcode, #payload

Instance Method Summary collapse

Methods inherited from Frame

#<=>, #continued?, #control?, #finished?, #flag?, #initialize, #length, #pack, #to_ary, #unpack

Constructor Details

This class inherits a constructor from Protocol::WebSocket::Frame

Instance Method Details

#apply(connection) ⇒ Object

Apply this frame to the specified connection.



34
35
36
# File 'lib/protocol/websocket/text_frame.rb', line 34

def apply(connection)
	connection.receive_text(self)
end

#data?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/protocol/websocket/text_frame.rb', line 17

def data?
	true
end

#read_message(buffer) ⇒ Object

Decode the binary buffer into a suitable text message.



23
24
25
26
27
28
29
30
31
# File 'lib/protocol/websocket/text_frame.rb', line 23

def read_message(buffer)
	buffer.force_encoding(Encoding::UTF_8)
	
	unless buffer.valid_encoding?
		raise ProtocolError, "invalid UTF-8 in text frame!"
	end
	
	return TextMessage.new(buffer)
end