Menu

SObjectizer v.5.5.0 TODOs

Yauheni Akhotnikau

TODO


POSTPONED TO NEXT VERSIONS

Some tools for monitoring and introspection

See this post for the details.


DONE

Usage of ACE Framework removal

Usage of ACE Framework in benchmarks

Command line arguments parsing must be reimplemented without ACE_Get_Opt.

New timer_thread mechanism

Addition tests

test_case: timers must be correctly removed by timer_id_t::release method.

Additional features

create_timer_wheel_thread with additional parameters

There must be timer_wheel_thread_factory(wheel_size, granularity) function.

Usage of various_helpers_1

Project various_helpers_1 must be used instead of local copies of time_limited_execution.hpp, cmd_line_args_helpers.hpp, benchmark_helpers.hpp and so on.

Doxygen documentation improvement

Macro SO_5_EXPORT_FUNC_SPEC must be reimplemented the way which will allow Doxygen to detect return value type correctly.

SObjectizer API simplification and clarification

Remove so_5::rt::impl::so_environment_impl_t

All so_environment_impl_t functionality can be implemented by so_environment_t itself.

so_5::rt::environment_t instead of so_5::rt::so_environment_t

There must be names so_5::rt::environment_t and so_5::rt::environment_params_t.
Old names so_environment_t and so_environment_params_t must be aliases for new names in the namespace so_5::rt.

Old names must be declared as deprecated.

so_5::launch instead of various run_so_environment

There must be just two free functions:

launch( std::function< void(so_5::rt::environment_t &) > );
launch(
  std::function< void(so_5::rt::environment_t &) >,
  std::function< void(so_5::rt::environment_params_t &) > );

All existing run_so_environment will stay here but must be declared as deprecated.

New timer_thread mechanism

Additional features

Methods schedule_timer and single_timer which accepts std::chrono::steady_clock::duration

New samples

There must be new sample which demonstrates usage of timer_thread factories. May be it can be used also as a stress test for timers.

Code cleanup

FIXME marks

All FIXME marks in code must be reviewed and fixed.


Related

Wiki: Internals