Re: SObjectizer-5.7.1 и so5extra-1.4.1
От: so5team https://stiffstream.com
Дата: 22.06.20 09:57
Оценка:
Стали доступны новые версии библиотек SObjectizer и so5extra.

Полный список изменений в SObjectizer-5.7.1 можно найти здесь.
Из новых возможностей отдельно можно выделить лимиты для сообщений по умолчанию. Начиная с 5.7.1 если агенту нужно обрабатывать множество сообщений с одинаковыми лимитами, то описание этого лимита можно сделать лишь один раз:
class demo final : public so_5::agent_t
{
public:
   demo(context_t ctx)
      : so_5::agent_t{ctx
         + limit_then_drop<msg_A>(100u)
         + limit_then_abort<msg_B>(10u)
         // Этот лимит будет использован для всех остальных сообщений.
         + limit_then_drop<any_unspecified_message>(50u)
         }
   {}

   void so_define_agent() override
   {
      // Для сообщения msg_A будет использован явно заданный лимит.
      so_subscribe_self().event([](mhood_t<msg_A> cmd) {...});

      // Для сообщения msg_C лимит будет создан автоматически.
      so_subscribe_self().event([](mhood_t<msg_C> cmd) {...});
   }
};


В so5extra-1.4.1 добавлен новый диспетчер asio_one_thread. Этот диспетчер предназначен для ситуаций, когда на одной рабочей нити нужно собрать сразу несколько агентов, которые выполняют IO-операции посредством Asio. И когда важно, чтобы все эти IO-операции выполнялись на одной и той же рабочей нити.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.