Модераторы: feodorv

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [asio] как узнать что произошёл disconnect 
:(
    Опции темы
mabrarov
Дата 23.12.2011, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 12.1.2011
Где: Казань

Репутация: нет
Всего: 9



Цитата(borisbn @ 23.12.2011,  16:45)
Цитата(mabrarov @  23.12.2011,  14:07 Найти цитируемый пост)
Юзаешь GUI-вую библиотеку - юзай ее правила/методы

Я ж говорю
Цитата(borisbn @  23.12.2011,  11:03 Найти цитируемый пост)
дело в том, что я пишу не программу, а библиотечку, и в каком она будет использована фреймворке мне не нужно знать

В том то и дело, что, похоже, дизайн Вашей библиотеки страдает: 
  • Если Ваша библиотека в указанном месте обещает сделать что-то асинхронно и вызвать по окончании какой-то код, то она обязана уточнить, в каком потоке будет произведен этот вызов. При чем, это будет либо internal поток, либо (как в Asio) поток, подконтрольный scheduler-у Вашей библиотеки (например, за счет message loop).
  • Если же Ваша библиотека в указанном месте обещает что-то сделать синхронно, то "тупой" wait on condition variable должен иметь место.
Я бы реализовал первый вариант и дал бы кучу binding-ов/wrapper-ов, позволяющих прокинуть вызов в GUI поток в зависимости от используемого "фреймворка".

Это сообщение отредактировал(а) mabrarov - 23.12.2011, 17:33
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.