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

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

Реклама

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

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

Если вызов метода произошел, когда буфер outbuffer пуст и нет данных, предназначенных для постановки в очередь, просто возвращается значение 0E0. Такая ситуация возникает очень редко, например, при запросе информационной страницы о принтерах epson r285 , при котором произошел сбой. И наконец, перед выходом вызывается dнутренний метод adjust_state(). Он синхронизи­рует объект IO::SessionData с объектом IO::SessionSet, который им управляет. Работа метода завершается путем возврата кода результата.

Строки 80-90. Метод read (). Объём кода метода read () невелик по сравнению с предыду­щим методом. Этот метод имеет такой же синтаксис, как и встроенные функции read() и sysread() языка Perl. В действительности он представляет собой простую оболочку для функции sysread (), которая перехватывает код результата и возвращает значение 0Е0 при возникновении ошибки ewouldblock.

Единственная сложность состоит в том, что применяется ссылка непосредственно на элемен­ты списка параметров подпрограммы (в форме $_[0], $_[!] и т.д.), а не их копирование в ло­кальные переменные.

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

Строки 91-102. Метод close () отвечает за закрытие дескриптора файла и выполнение очистки. Здесь применяется небольшая хитрость, поскольку в выходном буфере записи могут оставаться данные, ждущие обработки; в этом случае нельзя немедленно за­крыть дескриптор файла, можно только его отметить, чтобы закрыть окончательно после за­писи всех ожидающих данных.

Вызывается метод pending () для определения того, есть ли еще данные в буфере записи.

2014-09-05 15:06:43

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


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


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


РЕКОМЕНДУЕМ

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