SObjectizer-5.6.0: C++ 用アクター フレームワークの新しいメジャー バージョン

オブジェクタイザー は、C++ での複雑なマルチスレッド アプリケーションの開発を簡素化するための比較的小さなフレームワークです。 SObjectizer を使用すると、開発者はアクター モデル、パブリッシュ/サブスクライブ、CSP などのアプローチを使用して、非同期メッセージングに基づいてプログラムを構築できます。 これは、BSD-3-CLAUSE ライセンスに基づくオープンソース プロジェクトです。 SObjectizer の簡単な印象は、以下に基づいて形成できます。 このプレゼンテーション.

バージョン 5.6.0 は、新しい SObjectizer-5.6 ブランチの最初のメジャー リリースです。 これは、5.5 年以上にわたって開発を続けてきた SObjectizer-XNUMX ブランチの開発が完了することも意味します。

バージョン 5.6.0 は SObjectizer の開発に新しい章を開くものであるため、SObjectizer から変更された点や削除された点と比較すると、革新的な点はまったくありません。 特に:

  • C++17 が使用されます (以前は C++11 のサブセットが使用されていました)。
  • プロジェクトは移転し、現在も存続しています ビットバケット 実験的ではなく公式で、 GitHub 上のミラー;
  • エージェントのコラボレーションには文字列名がなくなりました。
  • エージェント間の同期対話のサポートは SObjectizer から削除されました (その類似物は付属のプロジェクトに実装されています) so5エクストラ);
  • アドホック エージェントのサポートは削除されました。
  • メッセージを送信するには、無料の関数 send、send_layed、send_periodic のみが使用されるようになりました (古いメソッドのDeliver_message、schedule_timer、single_timer はパブリック API から削除されました)。
  • send_layed 関数と send_periodic 関数は、メッセージ受信者のタイプ (mbox、mchain、エージェントへのリンクなど) に関係なく、同じ形式になりました。
  • message_holder_t クラスを追加して、事前に割り当てられたメッセージの操作を簡素化しました。
  • ブランチ 5.5 で非推奨としてマークされていた多くのものを削除しました。
  • まあ、その他いろいろなこと。

変更の詳細なリストはこちらをご覧ください。 ここで。 プロジェクト Wiki で次のことがわかります。 バージョン 5.6 のドキュメント.


新しいバージョンの SObjectizer を含むアーカイブは、次からダウンロードできます。 ビットバケット または SourceForgeの.


PS. 特に、SObjectizer は誰にも必要とされず、誰も使用されないと信じている懐疑論者にとってはそうです。 これ そうではありません.

出所: linux.org.ru

コメントを追加します