Skip to content

so5extra 1.5 docs

eao197 edited this page Jul 28, 2022 · 10 revisions

so5extra-1.5 Documentation

This page contains documentation for so5extra v.1.5

Obtaining And Building

The actual information about obtaining and using of so5extra can be found in README.md. Please look to that file for detailed information.

What's New?

v.1.5.2, v.1.5.1, v.1.5.0

Tutorials

so5extra contains several independed sublibraries:

  • so_5::extra::async_op. Several implementation of async operations. Contains subcomponents so_5::extra::async_op::time_unlimited (async operations without a limit for execution time) and so_5::extra::async_op::time_limited (async operations with a time limit). For more information see: Asynchronous Operations.
  • so_5::extra::disp::asio_one_thread. A dispatcher which runs Asio's io_service::run() on a separate worker thread and schedules execution of event-handler via asio::post() facility. More information can be found here: Asio's One Thread Dispatcher.
  • so_5::extra::disp::asio_thread_pool. A dispatcher which runs Asio's io_service::run() on a thread pool and schedules execution of event-handler via asio::post() facility. More information can be found here: Asio's Thread Pool Dispatcher.
  • so_5::extra::env_infrastructures::asio::simple_mtsafe. An implementation of thread-safe single threaded environment infrastructure on top of Asio. For more information see: Asio-based Simple Multithread-safe Environment Infrastructure.
  • so_5::extra::env_infrastructures::asio::simple_not_mtsafe. An implementation of not-thread-safe single threaded environment infrastructure on top of Asio. For more information see: Asio-based Simple Not-multithread-safe Environment Infrastructure.
  • so_5::extra::enveloped_msg. A set of tools for working with enveloped messages. See "Just Envelope", "Sending of Envelopes" and "Time-Limited Message Delivery" for more details.
  • so_5::extra::mboxes::broadcast::fixed_mbox. An implementation of mbox which broadcasts messages to a set of destination mboxes. More information about this broadcasting mbox type can be found here: Broadcasting fixed_mbox.
  • so_5::extra::mboxes::collecting_mbox. An implementation of mbox which collects messages of type T and sends bunches of collected messages to the target mbox. More information about collecting_mbox can be found here: Collecting Mbox.
  • so_5::extra::mboxes::composite. An implementation of mbox that delegates actual processing of messages to different destination mboxes: Composite Mbox.
  • so_5::extra::mboxes::inflight_limit. An implementation of mbox that limits the number of "in-flight" messages and drops (discards) new messages if the limit exceeded: Inflight-Limit Mbox.
  • so_5::extra::mboxes::first_last_subscriber_notification. An implementation of mbox for messages of type T that sends notifications when the first subscriber arrives and the last subscribers leaves: First-Last Subscriber Notification Mbox.
  • so_5::extra::mboxes::proxy. A proxy-mbox which delegates all calls to the underlying actual mbox. Such proxy simplifies development of custom mboxes. More information can be found here: Proxy Mbox.
  • so_5::extra::mboxes::retained_msg. An implementation of mbox which holds the last sent message and automatically resend it to every new subscriber for this message type. More information about retained_msg mbox can be found here: Retained Mbox.
  • so_5::extra::mboxes::round_robin. An implementation of round-robin mbox which performs delivery of messages by round-robin scheme. More information about round-robin mbox can be found here: Round-Robin Mbox.
  • so_5::extra::mboxes::unique_subscribers. A variant of Multi-Producer/Single-Consumer mbox, that allows having many different subscribers if all of those subscribers are subscribed to different message types. More information can be found here: Unique-Subscribers Mbox.
  • so_5::extra::mchains::fixed_size. An implementation of fixed-size mchain which capacity is known at the compile-time. More information can be found here: Fixed-Size mchain;
  • so_5::extra::revocable_msg. A set of tools for sending messages/signals those can be revoked. More information can be found here: Revocable Messages.
  • so_5::extra::revocable_timer. A set of tools for sending delayed/periodic messages/signals those can be revoked. More information can be found here: Revocable Timers.
  • so_5::extra::shutdowner. A tool to simplify prevention of SObjectizer shutdown in cases where some agents require more time for graceful shutdown (like storing caches to disk and stuff like that). More information about shutdowner can be found here: Shutdowner.
  • so_5::extra::sync. A set of tools for performing synchronous interaction between agents (or threads if only mchains are used). More information can be found here: Synchronous Interaction.

API Reference Manual

If you need an API Reference Manual then you can build it by yourself using the Doxygen tool:

git clone https://github.com/Stiffstream/so5extra
cd so5extra/dev
doxygen
cd doc/html
index.html

Or you can find an already generated documentation here.

Clone this wiki locally