class DataFrame
	
	
	DATA frames convey arbitrary, variable-length sequences of octets associated with a stream. One or more DATA frames are used, for instance, to carry HTTP request or response payloads.
DATA frames MAY also contain padding. Padding can be added to DATA frames to obscure the size of messages.
+---------------+ |Pad Length? (8)| +---------------+-----------------------------------------------+ | Data () ... +---------------------------------------------------------------+ | Padding () ... +---------------------------------------------------------------+
Definitions
def end_stream?
Check if this frame marks the end of the stream.
Signature
	- 
					returns 
Boolean True if the END_STREAM flag is set.
Implementation
						def end_stream?
	flag_set?(END_STREAM)
end
					def pack(data, *arguments, **options)
Pack data into the frame, handling empty data as stream end.
Signature
	- 
					parameter 
dataString | Nil The data to pack into the frame.
- 
					parameter 
argumentsArray Additional arguments passed to super.
- 
					parameter 
optionsHash Additional options passed to super.
Implementation
						def pack(data, *arguments, **options)
	if data
		super
	else
		@length = 0
		set_flags(END_STREAM)
	end
end
					def apply(connection)
Apply this DATA frame to a connection for processing.
Signature
	- 
					parameter 
connectionConnection The connection to apply the frame to.
Implementation
						def apply(connection)
	connection.receive_data(self)
end
					def inspect
Provide a readable representation of the frame for debugging.
Signature
	- 
					returns 
String A formatted string representation of the frame.
Implementation
						def inspect
	"\#<#{self.class} stream_id=#{@stream_id} flags=#{@flags} #{@length || 0}b>"
end