А ведь в среду у меня был суповой дебют. Приготовил куриный супчик, которым питался буквально до вчера. Это оказалось оч просто. Сейчас у меня плововый дебют. Готовлю плов с курицей, ага. Вот.
... господа программисты, а кто-нить когда-нить писал свои потоки передачи данных (те, что streams, а не threads)?
Представим задачу следующего толка: есть m источников данных (веб-камера, поток из файла, модем или еще какая дребедень), n приемников (например, экран вывода, устройство передачи данных, клиент в сети и т.п.). Требуется организовать передачу данных между источниками и приемниками вида "много"-"много", причем с некоторым преобразованием данных внутри.
Вариант 1, стандартный: создаем классы-преобразователи, которые некоторым образом преобразовывают данные и работают в жесткой цепочке, четко зная, кому надо что передать. Минусы варианта очевидны: нет гибкости в передаче, а иной раз реализация может превратиться в жуткий кошмар (у меня есть пример проекта, где сначала строится жесткая цепочка из таких классов путем передачи callback-ов, по которым затем передаются данные на обработку), да и в случае многопотокового приложения синхронизация этого дела представляет отдельный кошмар. Плюс - подход далеко не новый и довольно хорошо известный.
Вариант 2, вчера придуманный: Весь процесс передачи информации вместе с преобразованием данных можно представить как поток от источника до приемника. Особенно это актуально для случая, когда источники и приемники работают в разных нитях (threads). Процесс передачи данных можно реализовать стандартным потоком (через pipe), внутри которого, кроме всего прочего, можно сделать применение некоторой операции преобразования. Это решает еще и часть задачи синхронизации данных: поток является кольцевым буфером, запрещающим перезапись данных (записанные данные _должны_ быть прочитаны, чтобы освободить буфер). Надо бы подумать над этим вопросом...
UPD: Вариант с пайпами, кстати, еще и легче реализуется как кроссплатформенный, ибо pipe это POSIX и сидит в std, а совсем не "M$-specific".
PS: Да, что-то с утра голова не оч хорошо работает... гудит немного и болит чуток :/
Итак, надо бы написать-таки о впечатлениях о фесте "Чаща всего". Ну, свое впечатление от выступления группы Ignes Fatui я высказал в предыдущем посте, так что тут будет самый треш. Приведу диалог из аськи, ибо еще раз печатать это просто лень.
(11:48:54 AM) Malckhazar: а я вот вчера с феста вернулся (11:48:57 AM) Malckhazar: там было ыыы (11:49:13 AM) ***: что такое феста? (11:49:20 AM) Malckhazar: фестиваль (11:50:23 AM) Malckhazar: умилила толпа Интересных личностей, которые бродили и требовали запилить дверь страдали от мыслимых и немыслимых похмелий и клянчили ЖивойСвятой Огненной воды. (11:51:59 AM) ***: а что за фестиваль то? (11:52:14 AM) Malckhazar: Хип-рок фест "Чаща всего" (11:52:50 AM) Malckhazar: мы этим люмпенам наливали квас под видом пива )) (11:54:47 AM) Malckhazar: просто порвало выступление в 8 утра (!) группы с дичайшим названием вроде "Кафедра психосоматической космонавтики и глубинных исследований внутреннего космоса", игравшие один и тот же такт на протяжении получаса и оравших в микрофон что-то нечленораздельное О.о (11:56:07 AM) Malckhazar: во время выступления я понял, что поспать больше не получится и решил таки окуклиться выползти из палатки (11:56:40 AM) Malckhazar: а еще убила группа, выступление которой больше напоминало вопли ужаса от вползающего на сцену нечто ужасного
Думаю, впечатления понятны
UPD: Та утренняя группа называлась КАФЕДРА Экспериментальной Психонавтики И Исследований Внутреннего Космоса. Для выпадение в сомнамбулический транс - рекомендую.
Чет я все больше подумываю о покупке жестких линз вместо хирургии. Ибо хирургия - как-то страшно, глаза-то всего одни у меня. к тому ж тут есть фирма, первая в России сертифицировавшая это дело. Но, блин, пока что - дорого, хоть деньги и есть.
Вчера скомпилил ведро... и обнаружил, что дрова для oss и fglrx не грузятся. Ломал голову, ломал... и увидел сообщение lilo, что device-mapper не найден. Подключил - все заработало.
А еще, как ни удивительно, radeonfb и fglrx на моем ноуте прекрасно уживаются. Неужели ATI-шники таки поправили свои дрова?..
Мысль uno. Что лучше - старушка ALSA или нимфетка OSS4?.. Мысль duo. Надо бы пересобрать ведро... о, нет device-mapper'а! О.о Мысль tres. Попробовать найти метод из разряда InvSqrt или тупо реализовать на целочисленной математике?