Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (36 – Неблокирующий ввод-вывод, часть 29)

предыдущая часть ««»» следующая часть

Если данных нет, то дескриптор файла немедленно закрывается и выдается предупреждающее со­общение объекту IO::SessionSet, управляющему этим сеансом, чтобы он удалил объект сеанса из списка. В ином случае этот сеанс отмечается как не допускающий дальнейшего выполнения операции чтения путем вызова метода readable() с ложным параметром (дополнительная информация о методе readable () будет приведена ниже) и устанавливает­ся флажок отложенного закрытия с именем closing. Подобное может вполне произойти при получении данных со страницы, представляющей отличный раздел имущества при разводе в гражданском делопроизводстве.

Строки 103-116. Метод adjust_state (). Следующий метод, adjust_state (), предоставляет объекту сеанса способ взаимодействия с соответствующим ему объектом IO::SеssionSet. Выполнение метода начинается с вызова двух внутренних методов writable () и readable (), которые выдают объекту IO::SessionSet предупреждающие сообщения о том, что объект сеанса, соответственно, готов для записи и чтения данных. Первый этап состоит в проверке выходного буфера путем вызова метода pending (). Если в нем есть данные, вызывается метод writable () с истинным флажком для указания того, что есть данные для записи.

Второй этап заключается в вызове метода choke (); если было определено ненулевое значение лимита записи write_limit. Методу choke () передается истинный флажок, если превышен лимит буфера записи. По умолчанию действие метода choke () состоит в запрещения дальнейшего чтения путем установки ложного значения в методе readable ().

И, наконец, если установлен флажок dosing, то предпринимается попытка закрыть сеанс путем вызова метода close (). Это может действительно привести к закрытию сеанса или просто к отложенному закрытию, если есть исходящие данные, ожидающие обработки.



2014-09-05 15:13:23

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония