Метод .redir

Назначение:Для выбранного в данный момент сокета (выбор выполняется через sock.num) перенаправляет принимаемые (RX) данные в буфер TX того же сокета, другого сокета или другого объекта, поддерживающего совместимые буферы.
Синтаксис:sock.redir(redir as pl_redir) as pl_redir
Возвращает:Возвращает 0 - PL_REDIR_NONE, если перенаправление не удалось, или то же значение, которое было передано в аргументе redir.
См. также:---

ПараметрОписание
redirЗависит от платформы. Список констант pl_redir приведён в спецификациях платформ.

Подробности

Перенаправление данных (его иногда называют «замыканием буферов») позволяет организовать эффективный обмен данными между портами, сокетами и т. д. там, где данные не нужно изменять или разбирать, а важно получить максимально возможную пропускную способность.

Аргумент redir и возвращаемое методом значение имеют тип "enum pl_redir". Перечисление pl_redir задаёт набор межобъектных констант платформы, включающий все возможные перенаправления для этой платформы. Значение redir 0 - PL_REDIR_NONE отменяет перенаправление. Когда для сокета включено перенаправление, событие on_sock_data_arrival для этого порта не генерируется.

После перенаправления буфера RX некоторые связанные с ним свойства и методы фактически будут возвращать данные буфера TX, в который перенаправлен буфер RX:

  • sock.rxbuffsize будет возвращать размер буфера TX
  • sock.rxclear будет очищать буфер TX
  • sock.rxlen будет показывать объём данных в буфере TX
Внимание

Не включайте перенаправление буферов для сокета, использующего шифрование TLS.

Исходный материал Tibbo обновлён 12 августа 2022Оригинал на docs.tibbo.com · Сообщить об ошибке