25 * If `begin < 0`, wraps at data length. Ex: (-1, 1) returns last byte, (-2, 2) returns last 2 bytes |
25 * If `begin < 0`, wraps at data length. Ex: (-1, 1) returns last byte, (-2, 2) returns last 2 bytes |
26 * Output: A copy of contents from the buffer |
26 * Output: A copy of contents from the buffer |
27 |
27 |
28 ## buffer:read |
28 ## buffer:read |
29 * Reads data from a file-descriptor/socket into the buffer directly |
29 * Reads data from a file-descriptor/socket into the buffer directly |
30 * Input: `(integer/lightuserdata fd OR socket, length)` |
30 * Input: `(fd, length)` |
31 * `fd` - File descriptor as integer or lightuserdata 'handle' (cast to a native integer) |
31 * `fd` - File descriptor to read from |
32 * `socket` - [LuaSocket](http://www.luaforge.net/projects/luasocket)-based socket handle |
|
33 * `length` - Amount of data to attempt to read into the buffer |
32 * `length` - Amount of data to attempt to read into the buffer |
34 * Output: Length of data actually read into the buffer |
33 * Output: Length of data actually read into the buffer |
35 * Side Effects: fd/socket 'drain'ed of data |
34 * Side Effects: fd/socket 'drain'ed of data |
36 |
35 |
37 ## buffer:write |
36 ## buffer:write |
38 * Attempts to write out all buffer's data to a file-descriptor/socket |
37 * Attempts to write out all buffer's data to a file-descriptor/socket |
39 * Input: `(integer/lightuserdata fd OR socket, length)` |
38 * Input: `(fd, length)` |
40 * `fd` - File descriptor as integer or lightuserdata 'handle' (cast to a native integer) |
39 * `fd` - File descriptor to write to |
41 * `socket` - [LuaSocket](http://www.luaforge.net/projects/luasocket)-based socket handle |
40 * `socket` - [LuaSocket](http://www.luaforge.net/projects/luasocket)-based socket handle |
42 * Output: Amount of data written |
41 * Output: Amount of data written |
43 * Side Effects: buffer 'drain'ed of written data |
42 * Side Effects: buffer 'drain'ed of written data |
44 |
43 |
45 ## buffer:readline |
44 ## buffer:readline |