![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
phprus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 22.8.2006 Репутация: 1 Всего: 3 |
boostcoder
Спасибо за пример! Ты случайно не знаешь, как выведено число 1024 в качестве размера для aligned_storage? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
не знаю :( я тоже задался этим вопросом, но все мои гугления ни к чему ни привели.. в общем, я в метод allocate() добавил вывод size и варнинга в логгер, в случае если запрашивается объем больше чем есть у аллокатора. но как показывает тест, у меня всегда выделяется 32 байта ![]() чтоб понять от чего зависит объем, нужно лезть в изучение boost::bind(). |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
хотя что-то мне подсказывает, что выделяемый объем будет равен "sizeof(declspec(boost::bind(...)))"... Это сообщение отредактировал(а) boostcoder - 2.8.2011, 17:13 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
кстати, если некоторые хэндлеры гарантировано не выполняются одновременно, то для них можно использовать один аллокатор.
т.е. если на сокете происходит чтение одновременно с записью - то аллокаторов нужно два. это очень критично. иначе получишь segfolt`ы и access_violation`ы о причинах которых будешь долго раздумывать ![]() |
|||
|
||||
phprus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 22.8.2006 Репутация: 1 Всего: 3 |
Скажи пожалуйста, а если из одного хэндлера вызывается асинхронная операция с другим хэндлером (на одном сокете), то это считается одновременно?
|
|||
|
||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
если я тебя правильно понял, ты говоришь о такой ситуации:
если да - то это не считается одновременно. ибо в доке сказано:
что и подтверждает вывод этого кода: http://liveworkspace.org/code/d8f9abec20e6...590d53f53f373a4 |
||||
|
|||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |