Skip to content

HeatbeatProducer and Node are moved on creation #403

Description

@thirtytwobits

There are several problems leading to multiple HeartbeatProducer and Node move constructor invocations on startup. The first is returning instances for functions returning variants. Instead the cetl::pf17::in_place_type constructors should be used (e.g. node.hpp:60). After this, the heartbeat producer is moved again into the node immediately after it was created. This triggers setting up then tearing down nodes in the AVL graph (i.e. this is not trivial). We need a way to instantiate a node without move-constructing the producers used.

Activity

  1. added
    domain-productionPertains to the shippable code rather than any scaffolding
    class-requirementIssue that can be traced back to a design requiement
    on Nov 25, 2024
  2. pavel-kirienko commented on Feb 4, 2025

    @pavel-kirienko
    Member
    1. These things happen only during initialization.
    2. Newer C++ standards provide stronger NRVO guarantees so all of the mentioned copies/moves are expected to be elided.

    Do we still care?

  3. added this to the v1.0 milestone on Mar 14, 2025
  4. changed the issue type fromtoon Mar 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    class-requirementIssue that can be traced back to a design requiementdomain-productionPertains to the shippable code rather than any scaffoldingpriority-lowA minor issue

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions