mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
docs update
This commit is contained in:
parent
2bbcb77bcf
commit
f539ddf9e0
2 changed files with 23 additions and 23 deletions
|
|
@ -94,7 +94,7 @@ socket:recv_async(
|
||||||
|
|
||||||
-- Оборачивает сокет в io_stream (см. ../io_stream.md)
|
-- Оборачивает сокет в io_stream (см. ../io_stream.md)
|
||||||
socket:as_stream(
|
socket:as_stream(
|
||||||
[опционально] binaryMode: boolean=true
|
[опционально] binary_mode: boolean=true
|
||||||
) -> io_stream
|
) -> io_stream
|
||||||
|
|
||||||
-- Закрывает соединение
|
-- Закрывает соединение
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
Поток имеет три различных вида режима:
|
Поток имеет три различных вида режима:
|
||||||
- Режим общего поведения (`general` / `mode`)
|
- Режим общего поведения (`general` / `mode`)
|
||||||
|
|
||||||
- Режим сброса (`flush` / `flushMode`)
|
- Режим сброса (`flush` / `flush_mode`)
|
||||||
|
|
||||||
- Двоичный режим (`binary`)
|
- Двоичный режим (`binary`)
|
||||||
|
|
||||||
|
|
@ -27,34 +27,34 @@
|
||||||
Определяет, как поток обрабатывает чтение и запись,
|
Определяет, как поток обрабатывает чтение и запись,
|
||||||
имеет три подрежима:
|
имеет три подрежима:
|
||||||
|
|
||||||
| Режим | Описание |
|
| Режим | Описание |
|
||||||
|---------------|--------|
|
|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `"default"` | Прямой режим. `read` может вернуть меньше байт, чем запрошено. `write` сразу отправляет данные в низкоуровневый дескриптор. Нет буферизации. |
|
| `"default"` | Прямой режим. `read` может вернуть меньше байт, чем запрошено. `write` сразу отправляет данные в низкоуровневый дескриптор. Нет буферизации. |
|
||||||
| `"yield"` | Как `default`, но при нехватке данных в `read(n)` поток будет вызывать `coroutine.yield()`, пока не соберёт ровно `n` байт. Удобно для корутин. |
|
| `"yield"` | Как `default`, но при нехватке данных в `read(n)` поток будет вызывать `coroutine.yield()`, пока не соберёт ровно `n` байт. Удобно для корутин. |
|
||||||
| `"buffered"` | Включает внутренние буферы чтения и записи. `read` берёт данные из буфера, `write` — складывает в буфер. При превышении `maxBufferSize` — ошибка `buffer overflow`. |
|
| `"buffered"` | Включает внутренние буферы чтения и записи. `read` берёт данные из буфера , `write` — складывает в буфер. |
|
||||||
|
|
||||||
### flush
|
### flush
|
||||||
|
|
||||||
Работает только в режиме `"buffered"`,
|
Работает только в режиме `"buffered"`,
|
||||||
имеет два подрежима:
|
имеет два подрежима:
|
||||||
|
|
||||||
| Режим | Что делает `flush()` |
|
| Режим | Что делает `flush()` |
|
||||||
|------------------|----------------------|
|
|------------------------|-----------------------------------------------------------------------------------------------------|
|
||||||
| `"all"` (по умолчанию) | Сначала сбрасывает буфер записи → низкоуровневый `write`, затем вызывает `ioLib.flush(descriptor)` |
|
| `"all"` (по умолчанию) | Сначала сбрасывает буфер записи → низкоуровневый `write`, затем вызывает `io_lib.flush(descriptor)` |
|
||||||
| `"buffer"` | Сбрасывает только буфер записи, без вызова системного `flush` |
|
| `"buffer"` | Сбрасывает только буфер записи, без вызова системного `flush` |
|
||||||
|
|
||||||
|
|
||||||
### binary
|
### binary
|
||||||
**Независимый флаг** (включается через `set_binary_mode(true)` или при создании потока).
|
**Независимый флаг** (включается через `set_binary_mode(true)` или при создании потока).
|
||||||
Определяет, в каком виде методы `read` и `write` принимают и возвращают данные:
|
Определяет, в каком виде методы `read` и `write` принимают и возвращают данные:
|
||||||
|
|
||||||
| binary = true | binary = false (по умолчанию) |
|
| binary = true | binary = false (по умолчанию) |
|
||||||
|------------------------------------------------------------|----------------------------------------|
|
|------------------------------------------------------------|----------------------------------------|
|
||||||
| Данные — это **байты** (`Bytearray`, таблица чисел 0..255) | Данные — это **текстовые строки** |
|
| Данные — это **байты** (`Bytearray`, таблица чисел 0..255) | Данные — это **текстовые строки** |
|
||||||
| `read(n)` → `Bytearray` или `table<int>` | `read()` → одна строка |
|
| `read(n)` → `Bytearray` или `table<int>` | `read()` → одна строка |
|
||||||
| `read("i4 f")` → распаковка через `byteutil.unpack` | `read(n)` → n строк в таблице |
|
| `read("i4 f")` → распаковка через `byteutil.unpack` | `read(n)` → n строк в таблице |
|
||||||
| `write(Bytearray)` → запись байтов | `write("hello")` → строка + `\n` |
|
| `write(Bytearray)` → запись байтов | `write("hello")` → строка + `\n` |
|
||||||
| `write("i4", 42)` → `byteutil.pack` | `write({"a","b"})` → две строки с `\n`|
|
| `write("i4", 42)` → `byteutil.pack` | `write({"a","b"})` → две строки с `\n` |
|
||||||
|
|
||||||
`read_line` / `write_line` — работают как в текстовом режиме
|
`read_line` / `write_line` — работают как в текстовом режиме
|
||||||
|
|
||||||
|
|
@ -90,17 +90,17 @@ io_stream:set_flush_mode(string)
|
||||||
--[[
|
--[[
|
||||||
Читает данные из потока
|
Читает данные из потока
|
||||||
В двоичном режиме:
|
В двоичном режиме:
|
||||||
Если arg - int, то читает из потока arg байт и возвращает ввиде Bytearray или таблицы, если useTable = true
|
Если arg - int, то читает из потока arg байт и возвращает ввиде Bytearray или таблицы, если use_table = true
|
||||||
|
|
||||||
Если arg - string, то функция интерпретирует arg как шаблон для byteutil. Прочитает кол-во байт, которое определено шаблоном, передаст их в byteutil.unpack и вернёт результат
|
Если arg - string, то функция интерпретирует arg как шаблон для byteutil. Прочитает кол-во байт, которое определено шаблоном, передаст их в byteutil.unpack и вернёт результат
|
||||||
В текстовом режиме:
|
В текстовом режиме:
|
||||||
Если arg - int, то читает нужное кол-во строк с окончанием CRLF/LF из arg и возвращает ввиде таблицы. Также, если trimEmptyLines = true, то удаляет пустые строки с начала и конца из итоговой таблицы
|
Если arg - int, то читает нужное кол-во строк с окончанием CRLF/LF из arg и возвращает ввиде таблицы. Также, если trim_empty_lines = true, то удаляет пустые строки с начала и конца из итоговой таблицы
|
||||||
|
|
||||||
Если arg не определён, то читает одну строку с окончанием CRLF/LF и возвращает её.
|
Если arg не определён, то читает одну строку с окончанием CRLF/LF и возвращает её.
|
||||||
--]]
|
--]]
|
||||||
io_stream:read(
|
io_stream:read(
|
||||||
[опционально] arg: int | string,
|
[опционально] arg: int | string,
|
||||||
[опционально] useTable | trimEmptyLines: boolean
|
[опционально] use_table = false | trim_empty_lines = true: boolean
|
||||||
) -> Bytearray | table<int> | string | table<string> | ...
|
) -> Bytearray | table<int> | string | table<string> | ...
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
|
|
@ -128,14 +128,14 @@ io_stream:write_line(string)
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
В двоичном режиме:
|
В двоичном режиме:
|
||||||
Читает все доступные байты из потока и возвращает ввиде Bytearray или table<int>, если useTable = true
|
Читает все доступные байты из потока и возвращает ввиде Bytearray или table<int>, если use_table = true
|
||||||
|
|
||||||
В текстовом режиме:
|
В текстовом режиме:
|
||||||
Читает все доступные строки из потока в table<string> если useTable = true, или в одну строку вместе с окончаниями, если нет
|
Читает все доступные строки из потока в table<string> если use_table = true, или в одну строку вместе с окончаниями, если нет
|
||||||
|
|
||||||
--]]
|
--]]
|
||||||
io_stream:read_fully(
|
io_stream:read_fully(
|
||||||
[опционально] useTable: boolean
|
[опционально] use_table: boolean
|
||||||
) -> Bytearray | table<int> | table<string> | string
|
) -> Bytearray | table<int> | table<string> | string
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
|
|
@ -203,15 +203,15 @@ io_stream.wrap_bytearray(
|
||||||
|
|
||||||
-- по-умолчанию равен true, поскольку функция из вводных аргументов
|
-- по-умолчанию равен true, поскольку функция из вводных аргументов
|
||||||
-- будет использоваться преимущественно для работы с двоичными данными.
|
-- будет использоваться преимущественно для работы с двоичными данными.
|
||||||
[опционально] binaryMode: boolean = true
|
[опционально] binary_mode: boolean = true
|
||||||
) -> io_stream
|
) -> io_stream
|
||||||
|
|
||||||
-- Создаёт новый поток с переданным дескриптором и использующим переданную I/O библиотеку. (Более подробно в core:io_stream.lua)
|
-- Создаёт новый поток с переданным дескриптором и использующим переданную I/O библиотеку. (Более подробно в core:io_stream.lua)
|
||||||
io_stream.new(
|
io_stream.new(
|
||||||
descriptor: int,
|
descriptor: int,
|
||||||
binaryMode: boolean,
|
binary_mode: boolean,
|
||||||
ioLib: table,
|
io_lib: table,
|
||||||
[опционально] mode: string = "default",
|
[опционально] mode: string = "default",
|
||||||
[опционально] flushMode: string = "all"
|
[опционально] flush_mode: string = "all"
|
||||||
) -> io_stream
|
) -> io_stream
|
||||||
```
|
```
|
||||||
Loading…
Add table
Add a link
Reference in a new issue