Строки 93-110. Метод waito (), как и в программах 1С http://1c-prime.ru/ - это обслуживание запросов на запись, ожидающих выполнения. И наконец, мы перешли к основе этого модуля — методу wait (). Задача состоит в вызове метода IO::Select->select () для дескрипторов, объекты сеансов которых объявили, что эти дескрипторы готовы для ввода-вывода, чтобы выполнить следующие действия: вызвать метод write () для тех объектов сеансов, которые содержат исходящие данные, поставленные в очередь, и вызвать метод accept () с приемным сокетом, если соответствующий ему объект IO::Select указывает, что он готов для чтения. Все другие дескрипторы файлов, которые готовы для чтения, используются для поиска соответствующих объектов IO::SessionData и возвращаются вызывающей процедуре.
В первой части этой подпрограммы вызывается метод IO::Select->select(), который возвращает двухэлементный список дескрипторов чтения readers и дескрипторов записи writers, которые готовы для ввода-вывода. Следующая задача состоит в обслуживании дескрипторов записи, которые содержат данные, поставленные в очередь. Теперь выполняется; цикл по всем дескрипторам, готовым для записи, отыскивается объект сеанса, соответствующий очередному дескриптору, и вызывается метод write () объекта сеанса для записи с помощью функции syswrite () максимально возможного объема данных, ожидающих обработки. Напомним, что объект сеанса, после применения к нему метода IO::SessionData->write (), автоматически удаляет себя из списка дескрипторов, готовых для записи, если его передающий буфер пуст.