Class: Vertx::Buffer
- Inherits:
-
Object
- Object
- Vertx::Buffer
- Defined in:
- src/main/api_shim/core/buffer.rb
Overview
A Buffer represents a sequence of zero or more bytes that can be written to or read from, and which expands
as necessary to accomodate any bytes written to it.
Buffers are used in many places in vert.x, for example to read/write data to/from NetSocket, AsyncFile,
WebSocket, HttpClientRequest, HttpClientResponse, HttpServerRequest, HttpServerResponse etc.
There are two ways to write data to a Buffer: The first method involves methods that take the form set_XXX.
These methods write data into the buffer starting at the specified position. The position does not have to be inside data that
has already been written to the buffer; the buffer will automatically expand to encompass the position plus any data that needs
to be written. All positions are measured in bytes and start with zero.
The second method involves methods that take the form append-XXX; these methods append data at the end of the buffer.
Methods exist to both set and append all primitive types, String and other instances of Buffer.
Data can be read from a buffer by invoking methods which take the form get_XXX. These methods take a parameter
representing the position in the Buffer from where to read data.
Class Method Summary (collapse)
-
+ (Object) create(initial_size_hint = 0)
Creates a new empty buffer.
-
+ (Object) create_from_str(str, enc = "UTF-8")
Create a new Buffer from a String.
Instance Method Summary (collapse)
-
- (Buffer) append_buffer(buff)
Appends another buffer to the end of this buffer.
-
- (Buffer) append_fixnum(num, bytes)
Appends a FixNum to the end of this buffer.
-
- (Buffer) append_float(num, bytes)
Appends a Float to the end of this buffer.
-
- (Buffer) append_str(str, enc = "UTF-8")
Appends a string to the end of this buffer.
-
- (Buffer) copy
Get a copy of the entire buffer.
-
- (Buffer) get_buffer(pos, end_pos)
Return bytes in the buffer as a Buffer.
-
- (FixNum) get_byte(pos)
Get the byte at position pos in the buffer.
-
- (FixNum) get_fixnum(pos, bytes)
Get the FixNum represented by a sequence of bytes starting at position pos in the buffer.
-
- (Float) get_float(pos, bytes)
Get the Float represented by a sequence of bytes starting at position pos in the buffer.
-
- (String) get_string(pos, end_pos, enc = 'UTF-8')
Return bytes from the buffer interpreted as a String.
-
- (FixNum) length
The length of this buffer, in bytes.
-
- (Buffer) set_buffer(pos, buff)
Sets bytes in this buffer to the bytes of the specified buffer.
-
- (Buffer) set_fixnum(pos, num, bytes)
Sets bytes in the buffer to a representation of a FixNum.
-
- (Buffer) set_float(pos, num, bytes)
Sets bytes in the buffer to a representation of a Float.
-
- (Buffer) set_string(pos, str, enc = 'UTF-8')
Set bytes in the buffer to the string encoding in the specified encoding.
-
- (String) to_s(enc = "UTF-8")
Return a String representation of the buffer.
Class Method Details
+ (Object) create(initial_size_hint = 0)
Creates a new empty buffer. The #length of the buffer immediately after creation will be zero.
to initially allocate to the buffer to prevent excessive automatic re-allocations as data is written to it.
47 48 49 |
# File 'src/main/api_shim/core/buffer.rb', line 47 def Buffer.create(initial_size_hint = 0) Buffer.new(org.vertx.java.core.buffer.Buffer.new(initial_size_hint)) end |
+ (Object) create_from_str(str, enc = "UTF-8")
Create a new Buffer from a String
54 55 56 |
# File 'src/main/api_shim/core/buffer.rb', line 54 def Buffer.create_from_str(str, enc = "UTF-8") Buffer.new(org.vertx.java.core.buffer.Buffer.new(str, enc)) end |
Instance Method Details
- (Buffer) append_buffer(buff)
Appends another buffer to the end of this buffer. The buffer will expand as necessary to accomodate any bytes
written.
128 129 130 131 |
# File 'src/main/api_shim/core/buffer.rb', line 128 def append_buffer(buff) @buffer.appendBuffer(buff._to_java_buffer) self end |
- (Buffer) append_fixnum(num, bytes)
Appends a FixNum to the end of this buffer. The buffer will expand as necessary to accomodate any bytes written.
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'src/main/api_shim/core/buffer.rb', line 137 def append_fixnum(num, bytes) case bytes when 1 @buffer.appendByte(num) when 2 @buffer.appendShort(num) when 4 @buffer.appendInt(num) when 8 @buffer.appendLong(num) else raise "bytes must be 1, 2, 4, or 8" end self end |
- (Buffer) append_float(num, bytes)
Appends a Float to the end of this buffer. The buffer will expand as necessary to accomodate any bytes written.
157 158 159 160 161 162 163 164 165 166 |
# File 'src/main/api_shim/core/buffer.rb', line 157 def append_float(num, bytes) case bytes when 4 @buffer.appendFloat(num) when 8 @buffer.appendDouble(num) else raise "bytes must be 4 or 8" end end |
- (Buffer) append_str(str, enc = "UTF-8")
Appends a string to the end of this buffer. The buffer will expand as necessary to accomodate any bytes written.
172 173 174 175 |
# File 'src/main/api_shim/core/buffer.rb', line 172 def append_str(str, enc = "UTF-8") @buffer.appendString(str, enc) self end |
- (Buffer) copy
Get a copy of the entire buffer.
241 242 243 |
# File 'src/main/api_shim/core/buffer.rb', line 241 def copy Buffer.new(@buffer.copy()) end |
- (Buffer) get_buffer(pos, end_pos)
Return bytes in the buffer as a Buffer
119 120 121 122 |
# File 'src/main/api_shim/core/buffer.rb', line 119 def get_buffer(pos, end_pos) j_buff = @buffer.getBuffer(pos, end_pos) Buffer.new(j_buff) end |
- (FixNum) get_byte(pos)
Get the byte at position pos in the buffer.
68 69 70 |
# File 'src/main/api_shim/core/buffer.rb', line 68 def get_byte(pos) @buffer.getByte(pos) end |
- (FixNum) get_fixnum(pos, bytes)
Get the FixNum represented by a sequence of bytes starting at position pos in the buffer.
76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'src/main/api_shim/core/buffer.rb', line 76 def get_fixnum(pos, bytes) case bytes when 1 @buffer.getByte(pos) when 2 @buffer.getShort(pos) when 4 @buffer.getInt(pos) when 8 @buffer.getLong(pos) else raise "bytes must be 1, 2, 4, or 8" end end |
- (Float) get_float(pos, bytes)
Get the Float represented by a sequence of bytes starting at position pos in the buffer.
95 96 97 98 99 100 101 102 103 104 |
# File 'src/main/api_shim/core/buffer.rb', line 95 def get_float(pos, bytes) case bytes when 4 @buffer.getFloat(pos) when 8 @buffer.getDouble(pos) else raise "bytes must be 4 or 8" end end |
- (String) get_string(pos, end_pos, enc = 'UTF-8')
Return bytes from the buffer interpreted as a String
111 112 113 |
# File 'src/main/api_shim/core/buffer.rb', line 111 def get_string(pos, end_pos, enc = 'UTF-8') @buffer.getString(pos, end_pos, enc) end |
- (FixNum) length
The length of this buffer, in bytes.
235 236 237 |
# File 'src/main/api_shim/core/buffer.rb', line 235 def length @buffer.length end |
- (Buffer) set_buffer(pos, buff)
Sets bytes in this buffer to the bytes of the specified buffer. The buffer will expand as necessary to accomodate any bytes written.
219 220 221 222 |
# File 'src/main/api_shim/core/buffer.rb', line 219 def set_buffer(pos, buff) @buffer.setBytes(pos, buff._to_java_buffer) self end |
- (Buffer) set_fixnum(pos, num, bytes)
Sets bytes in the buffer to a representation of a FixNum. The buffer will expand as necessary to accomodate any bytes written.
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# File 'src/main/api_shim/core/buffer.rb', line 182 def set_fixnum(pos, num, bytes) case bytes when 1 @buffer.setByte(pos, num) when 2 @buffer.setShort(pos, num) when 4 @buffer.setInt(pos, num) when 8 @buffer.setLong(pos, num) else raise "bytes must be 1, 2, 4, or 8" end self end |
- (Buffer) set_float(pos, num, bytes)
Sets bytes in the buffer to a representation of a Float. The buffer will expand as necessary to accomodate any bytes written.
203 204 205 206 207 208 209 210 211 212 213 |
# File 'src/main/api_shim/core/buffer.rb', line 203 def set_float(pos, num, bytes) case bytes when 4 @buffer.setFloat(pos, num) when 8 @buffer.setDouble(pos, num) else raise "bytes must be 4 or 8" end self end |
- (Buffer) set_string(pos, str, enc = 'UTF-8')
Set bytes in the buffer to the string encoding in the specified encoding
229 230 231 232 |
# File 'src/main/api_shim/core/buffer.rb', line 229 def set_string(pos, str, enc = 'UTF-8') @buffer.setString(pos, str, enc) self end |
- (String) to_s(enc = "UTF-8")
Return a String representation of the buffer.
61 62 63 |
# File 'src/main/api_shim/core/buffer.rb', line 61 def to_s(enc = "UTF-8") @buffer.toString(enc) end |