SObjectizer-5.6.0: nowa główna wersja frameworka aktorów dla C++

SOObjectizer to stosunkowo niewielki framework upraszczający tworzenie złożonych aplikacji wielowątkowych w C++. SObjectizer umożliwia programistom budowanie programów w oparciu o asynchroniczne przesyłanie wiadomości przy użyciu podejść takich jak Actor Model, Publish-Subscription i CSP. Jest to projekt OpenSource na licencji BSD-3-CLAUSE. Na podstawie tego można stworzyć krótkie wrażenie dotyczące SObjectizera tę prezentację.

Wersja 5.6.0 jest pierwszą główną wersją nowej gałęzi SObjectizer-5.6. Oznacza to także zakończenie rozwoju gałęzi SObjectizer-5.5, która rozwija się od ponad czterech lat.

Ponieważ wersja 5.6.0 otwiera nowy rozdział w rozwoju SObjectizera, nie ma żadnych innowacji w porównaniu z tym, co zostało zmienione i/lub usunięte z SObjectizera. W szczególności:

  • Używany jest C++ 17 (poprzednio używany był podzbiór C++ 11);
  • projekt został przeniesiony i teraz żyje BitBucketa z oficjalnym, a nie eksperymentalnym, lustro na GitHubie;
  • współpraca agentów nie ma już nazw ciągów;
  • Z SObjectizera usunięto obsługę synchronicznej interakcji pomiędzy agentami (jego odpowiednik jest zaimplementowany w projekcie towarzyszącym so5 ekstra);
  • usunięto obsługę agentów ad hoc;
  • do wysyłania wiadomości wykorzystywane są obecnie wyłącznie darmowe funkcje send, send_delayed, send_periodic (stare metody Deliver_message, Schedule_timer, single_timer zostały usunięte z publicznego API);
  • funkcje send_delayed i send_periodic mają teraz ten sam format niezależnie od rodzaju odbiorcy wiadomości (czy jest to mbox, mchain czy link do agenta);
  • dodano klasę message_holder_t, aby uprościć pracę z wcześniej przydzielonymi wiadomościami;
  • usunięto wiele rzeczy, które w gałęzi 5.5 oznaczono jako przestarzałe;
  • No i mnóstwo innych rzeczy.

Bardziej szczegółową listę zmian można znaleźć tutaj. Tam, w projekcie Wiki, możesz znaleźć dokumentacja dla wersji 5.6.


Archiwa z nową wersją SObjectizera można pobrać ze strony BitBucketa lub SourceForge.


PS. Zwłaszcza dla sceptyków, którzy uważają, że SObjectizer jest nikomu niepotrzebny i nie jest przez nikogo używany. Ten nie w ten sposób.

Źródło: linux.org.ru

Dodaj komentarz