From b0a38edaada13b16ed7dc50e9b9fb1e39ed829bf Mon Sep 17 00:00:00 2001 From: nikita Date: Tue, 24 Mar 2026 00:44:52 +0300 Subject: [PATCH] Fixed typos and logic errors --- README.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index f4dda78..e77aaa5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Internet Protocol over Incidental Medium -**IPoIM** - это средство для туннелирования SOCKS5 соединения через среду передачи, которая не предназначена для туннелирования таких соединений. IPoIM разрабатывается в рассчётом на то, что к нему можно без больших усилий дописывать расширения на языке C. +**IPoIM** - это средство для туннелирования SOCKS5 соединения через среду передачи, которая не предназначена для туннелирования таких соединений. IPoIM разрабатывается в расчёте на то, что к нему можно без больших усилий дописывать расширения на языке C. ## Терминология @@ -37,7 +37,7 @@ IPoIM реализует функции, которые позволяют расширению общаться с остальным приложением: - **`void medium_epoll_ctl(int op, int fd, struct epoll_event *ev)`** - **Что делает:** - - Вызывает `epoll_ctl` для дискриптора epoll, который отвечает за событийный цикл + - Вызывает `epoll_ctl` для дескриптора epoll, который отвечает за событийный цикл - **Когда вызывать:** - Когда нужно добавить, модифицировать или удалить описание файлового дескриптора в epoll - **Заметки:** @@ -48,27 +48,28 @@ IPoIM реализует функции, которые позволяют ра - **Когда вызывать:** - Инициализация расширения - **Заметки:** нет -- **`void medium_on_recv_data(const void *data, uint32_t size)`** +- **`void medium_on_recv_data(const void *data, int32_t size)`** - **Что делает:** - Сообщает IPoIM, что из среды передачи были получены данные - **Когда вызывать:** - При получении данных из среды передачи - **Заметки:** - - No-op, если `data == NULL` или `size == 0` + - No-op, если `data == NULL` или `size <= 0` - **`void medium_set_ready_to_send(bool state)`** - **Что делает:** - Сообщает IPoIM, готово ли расширение к вызову `cbmed_on_send_data(...)` - **Когда вызывать:** - При изменении готовности к вызову `cbmed_on_send_data(...)` и при инициализации - **Заметки:** - - Изначально IPoIM предполагает, что среда передачи недоступна. Поэтому эта функция должна быть вызвана, как только расширение становиться готовым к вызову `cbmed_on_send_data(...)` после инициализации -- **`void medium_set_max_send_size(uint32_t size)`** + - Изначально IPoIM предполагает, что среда передачи недоступна. Поэтому эта функция должна быть вызвана, как только расширение становится готовым к вызову `cbmed_on_send_data(...)` после инициализации +- **`void medium_set_max_send_size(int32_t size)`** - **Что делает:** - Сообщает IPoIM, какое максимальное количество байтов можно передать `cbmed_on_send_data(...)` - **Когда вызывать:** - При изменении максимального количества байтов `cbmed_on_send_data(...)` - **Заметки:** - Изначально IPoIM предполагает, что среда передачи может передать 1024 Б за один вызов `cbmed_on_send_data(...)` + - Не допускается `size <= 0` ### Необходимые колбеки @@ -85,7 +86,7 @@ IPoIM реализует функции, которые позволяют ра - `events` - битовая маска событий (см `man epoll_ctl`) - **Возвращаемое значение:** нет - **Заметки**: нет -- **`int32_t cbmed_on_send_data(const void *data, uint32_t size)`** +- **`int32_t cbmed_on_send_data(const void *data, int32_t size)`** - **Когда вызвается:** - IPoIM хочет отправить данные через среду передачи - **Желаемый исход:** @@ -94,8 +95,8 @@ IPoIM реализует функции, которые позволяют ра - `data` - двоичные данные, которые нужно отправить через среду передачи - `size` - размер двоичный данных в байтах - **Возвращаемое значение:** - - В случае успеха колбек должен вернуть `size` - - Если передача провалена, то колбек должен вернуть любое другое значение + - В случае успеха колбек должен вернуть число байтов, ушедших в среду передачи + - Если передача провалена, то колбек должен -1 - **Заметки**: - Гарантируется `size > 0` - Гарантируется `size <= max_send_size` (см. `medium_set_max_send_size(...)`)