SObjectizer-5.6.0: nova grava versio de la aktorkadro por C++

SObjektiganto estas relative malgranda kadro por simpligi la evoluon de kompleksaj plurfadenaj aplikoj en C++. SObjectizer permesas al la programisto konstrui iliajn programojn bazitajn sur nesinkrona mesaĝ-interŝanĝo uzante alirojn kiel Actor Model, Publish-Subscribe kaj CSP. Ĉi tio estas OpenSource-projekto sub la permesilo BSD-3-CLAUSE. Mallonga impreso de SObjectizer povas esti formita surbaze ĉi tiu prezento.

Versio 5.6.0 estas la unua grava eldono de la nova branĉo SObjectizer-5.6. Kio ankaŭ signifas la kompletigon de la disvolviĝo de la branĉo SObjectizer-5.5, kiu disvolviĝas de pli ol kvar jaroj.

Ĉar versio 5.6.0 malfermas novan ĉapitron en la evoluo de SObjectizer, tute ne ekzistas novigoj kompare kun tio, kio estis ŝanĝita kaj/aŭ forigita de SObjectizer. Precipe:

  • C++17 estas uzata (antaŭe subaro de C++11 estis uzata);
  • la projekto moviĝis kaj nun vivas BitBucket kun oficiala, ne eksperimenta, spegulo sur GitHub;
  • agentkunlaboroj ne plu havas stringnomojn;
  • Subteno por sinkrona interago inter agentoj estis forigita de SObjectizer (ĝia analogo estas efektivigita en la kuna projekto do5krom);
  • subteno por ad-hoc agentoj estis forigita;
  • por sendi mesaĝojn, nur la senpagaj funkcioj send, send_delayed, send_periodic estas nun uzataj (la malnovaj metodoj deliver_message, schedule_timer, single_timer estis forigitaj de la publika API);
  • la send_delayed kaj send_periodic funkcioj nun havas la saman formaton sendepende de la speco de mesaĝricevanto (ĉu ĝi estas mbox, mchain aŭ ligo al agento);
  • aldonis la klason message_holder_t por simpligi labori kun antaŭ-asignitaj mesaĝoj;
  • forigis multajn aferojn, kiuj estis markitaj kiel malrekomenditaj reen en branĉo 5.5;
  • Nu, kaj ĉiaj aliaj aferoj.

Pli detala listo de ŝanĝoj troveblas tie. Tie, en la projekto Vikio, vi povas trovi dokumentado por versio 5.6.


Arkivoj kun la nova versio de SObjectizer estas elŝuteblaj de BitBucket aŭ plu SourceForge.


PS. Precipe por skeptikuloj, kiuj kredas, ke SObjectizer ne estas bezonata de iu ajn kaj ne estas uzata de iu ajn. Ĉi tio ne tiel.

fonto: linux.org.ru

Aldoni komenton