SObjectizer-5.6.0: neue Hauptversion des Actor-Frameworks für C++

SObjectizer — ist ein relativ kleiner Rahmen zur Vereinfachung der Entwicklung komplexer, multithreaded Anwendungen in C++. SObjectizer ermöglicht es Entwicklern, ihre Programme auf Basis der asynchronen Nachrichtenübermittlung zu erstellen, wobei Ansätze wie Actor Model, Publish-Subscribe und CSP verwendet werden. Es handelt sich um ein Open-Source-Projekt unter der BSD-3-CLAUSE-Lizenz. Ein kurzer Eindruck von SObjectizer lässt sich anhand dieser Präsentation.

Version 5.6.0 ist die erste Hauptversion des neuen Zweigs SObjectizer-5.6. Dies bedeutet auch das Ende der Entwicklung des Zweigs SObjectizer-5.5, der mehr als vier Jahre lang weiterentwickelt wurde.

Da Version 5.6.0 ein neues Kapitel in der Entwicklung von SObjectizer eröffnet, gibt es in Bezug auf Neuerungen im Vergleich zu dem, was aus SObjectizer geändert und/oder entfernt wurde, keine nennenswerten Ergänzungen. Insbesondere:

  • verwendet C++17 (früher wurde mit einem Teil von C++11 ausgekommen);
  • das Projekt ist umgezogen und befindet sich jetzt auf BitBucket mit einem offiziellen, nicht experimentellen, Mirror auf GitHub;
  • Agenten haben keine stringbasierten Namen mehr;
  • aus SObjectizer wurde die Unterstützung für die synchrone Interaktion zwischen Agenten entfernt (eine entsprechende Implementierung befindet sich im begleitenden Projekt so5extra);
  • die Unterstützung für ad-hoc-Agenten wurde entfernt;
  • zum Versenden von Nachrichten werden jetzt nur noch die freien Funktionen send, send_delayed, send_periodic verwendet (alte Methoden wie deliver_message, schedule_timer, single_timer wurden aus der öffentlichen API entfernt);
  • die Funktionen send_delayed und send_periodic haben jetzt ein einheitliches Format, unabhängig von der Art des Empfängers (sei es mbox, mchain oder ein Verweis auf einen Agenten);
  • es wurde die Klasse message_holder_t hinzugefügt, um die Arbeit mit vorab zugewiesenen Nachrichten zu erleichtern;
  • viele Dinge wurden entfernt, die bereits im Zweig 5.5 als obsolet markiert waren;
  • und noch allerlei anderes.

Eine ausführlichere Liste der Änderungen finden Sie hier. Dort finden Sie auch in der Projekt-Wiki Dokumentation zur Version 5.6.


Die Archive mit der neuen Version von SObjectizer können von BitBucket oder auf SourceForge.


PS. Speziell für Skeptiker, die glauben, dass SObjectizer niemandem nützt und von niemandem verwendet wird. Das stimmt nicht.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4