Class: Vertx::Buffer
- Inherits:
-
Object
- Object
- Vertx::Buffer
- Defined in:
- src/main/ruby_scripts/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 a 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/ruby_scripts/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/ruby_scripts/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 a buffer to the end of this buffer. The buffer will expand as necessary to accomodate any bytes written.
127 128 129 130 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 127 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.
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 136 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.
156 157 158 159 160 161 162 163 164 165 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 156 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.
171 172 173 174 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 171 def append_str(str, enc = "UTF-8") @buffer.appendString(str, enc) self end |
- (Buffer) copy
Get a copy of the entire buffer.
240 241 242 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 240 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/ruby_scripts/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/ruby_scripts/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/ruby_scripts/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/ruby_scripts/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/ruby_scripts/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.
234 235 236 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 234 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.
218 219 220 221 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 218 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.
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 181 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.
202 203 204 205 206 207 208 209 210 211 212 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 202 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
228 229 230 231 |
# File 'src/main/ruby_scripts/core/buffer.rb', line 228 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/ruby_scripts/core/buffer.rb', line 61 def to_s(enc = "UTF-8") @buffer.toString(enc) end |