Spec-Zone.ru › Pony

TCPConnectionNotify

[Source]

Уведомления для TCP-соединений.

Пример использования этого класса можно найти в документации для акторов TCPConnection и TCPListener.

interface ref TCPConnectionNotify

Общие функции

accepted

[Source]

Вызывается, когда TCPConnection принимается TCPListener.

fun ref accepted(
  conn: TCPConnection ref)
: None val

Параметры

  • conn: TCPConnection ссылка

Возвращаемое значение

  • None значение

proxy_via

[Source]

Вызывается перед попыткой подключения к целевому серверу. Для подключения через прокси, верните хост и порт прокси-сервера.

Реализация этой функции может выглядеть так:

let _proxy_host = "some-proxy.example.com"
let _proxy_service = "80"
var _destination_host: ( None | String )
var _destination_service: ( None | String )

fun ref proxy_via(host: String, service: String): (String, String) =>
  _destination_host = host
  _destination_service = service
  ( _proxy_host, _proxy_service )
fun ref proxy_via(
  host: String val,
  service: String val)
: (String val , String val)

Параметры

  • host: Строка значение
  • service: Строка значение

Возвращаемое значение

  • (Строка значение, Строка значение)

connecting

[Source]

Вызывается, если разрешение имени успешно выполнено для TCPConnection, и мы сейчас ждем успешного подключения к серверу. Значение count — количество попыток подключения. Уведомление будет информироваться каждый раз, когда count изменится, пока не будет установлено соединение или не будет вызван connect_failed().

fun ref connecting(
  conn: TCPConnection ref,
  count: U32 val)
: None val

Параметры

  • conn: TCPConnection ссылка
  • count: U32 значение

Возвращаемое значение

  • None значение

connected

[Source]

Вызывается, когда мы успешно подключились к серверу.

fun ref connected(
  conn: TCPConnection ref)
: None val

Параметры

  • conn: TCPConnection ссылка

Возвращаемое значение

  • None значение

connect_failed

[Source]

Вызывается, когда подключение ко всем возможным адресам сервера не удалось. В этот момент соединение никогда не будет установлено.

Ожидается реализация обработки ошибок. Вы можете настроить игнорирование ошибок, как показано ниже:

fun ref connect_failed(conn: TCPConnection ref) =>
  None
fun ref connect_failed(
  conn: TCPConnection ref)
: None val

Параметры

  • conn: TCPConnection ссылка

Возвращаемое значение

  • None значение

auth_failed

[Source]

У простого TCPConnection нет механизма аутентификации. Однако, когда протоколы обернуты в другие протоколы, это может быть использовано для сообщения об ошибке аутентификации в протоколе более низкого уровня (например, SSL).

fun ref auth_failed(
  conn: TCPConnection ref)
: None val

Параметры

  • conn: TCPConnection ссылка

Возвращаемое значение

  • None значение

sent

[Source]

Вызывается, когда данные отправляются по соединению. Это предоставляет уведомлению возможность изменить отправляемые данные перед записью. Для отбрасывания данных верните пустую строку.

fun ref sent(
  conn: TCPConnection ref,
  data: (String val | Array[U8 val] val))
: (String val | Array[U8 val] val)

Параметры

  • conn: TCPConnection ссылка
  • data: (Строка значение | Массив[U8 значение] значение)

Возвращаемое значение

  • (Строка значение | Массив[U8 значение] значение)

sentv

[Source]

Вызывается, когда несколько фрагментов данных отправляются по соединению в одном вызове. Это предоставляет уведомлению возможность изменить фрагменты отправляемых данных перед записью. Для отбрасывания отправки верните пустой массив [Строка].

fun ref sentv(
  conn: TCPConnection ref,
  data: ByteSeqIter val)
: ByteSeqIter val

Параметры

  • conn: TCPConnection ссылка
  • data: ByteSeqIter значение

Возвращаемое значение

  • ByteSeqIter значение

received

[Source]

Вызывается, когда новые данные получены по соединению. Верните true, если хотите продолжить получение сообщений без ожидания, пока не будет прочитан max_size в TCPConnection. Верните false, чтобы заставить TCPConnection прерваться сейчас.

Включает количество вызовов received за текущее поведение. Это позволяет уведомлению регулярно завершать чтение.

fun ref received(
  conn: TCPConnection ref,
  data: Array[U8 val] iso,
  times: USize val)
: Bool val

Параметры

  • conn: TCPConnection ссылка
  • data: Массив[U8 значение] изолированное
  • times: USize значение

Возвращаемое значение

  • Bool значение

expect

[Source]

Вызывается, когда соединению указано ожидать определённого количества байтов. Это позволяет вложенным уведомлениям изменять ожидаемое количество, что позволяет протоколу более низкого уровня обрабатывать любые рамки (например, SSL).

fun ref expect(
  conn: TCPConnection ref,
  qty: USize val)
: USize val

Параметры

  • conn: TCPConnection ссылка
  • qty: USize значение

Возвращаемое значение

  • USize значение

closed

[Source]

Вызывается, когда соединение закрыто.

fun ref closed(
  conn: TCPConnection ref)
: None val

Параметры

  • conn: TCPConnection ссылка

Возвращаемое значение

  • None значение

throttled

[Source]

Вызывается, когда соединение начинает испытывать обратную загрузку TCP. Вы должны ответить на это, приостановив дополнительные вызовы write и writev, пока вам не сообщат о снятии давления. Неправильный ответ на уведомление throttled приведёт к очереди исходящих данных в соединении и увеличению использования памяти.

fun ref throttled(
  conn: TCPConnection ref)
: None val

Параметры

  • conn: TCPConnection ссылка

Возвращаемое значение

  • None значение

unthrottled

[Source]

Вызывается, когда соединение перестаёт испытывать обратную загрузку TCP. После получения этого уведомления вы можете продолжить вызовы write и writev.

fun ref unthrottled(
  conn: TCPConnection ref)
: None val

Параметры

  • conn: TCPConnection ссылка

Возвращаемое значение

  • None значение

© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/net-TCPConnectionNotify

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API