Skip to content

Add functions for working with action goal IDs #389

@jacobperron

Description

@jacobperron

Feature request

Feature description

Currently, the client libraries are responsible for generating UUIDs for action goal IDs when an action client makes a request. The goal ID is part of generated "send goal" service request.
Client libraries also make use of the goal IDs for maintaining a list goal handles.

Presumably, most applications do not care that an action goal ID is implemented as a UUID and should not be burdened with this knowledge. We can extend this idea to the client libraries.
It would be nice if client libraries could leverage an existing set of functions in rcl_action for working with goal IDs. These functions could be used to:

  • Generate and populate the goal ID for new goal requests
  • Compare of goal IDs
  • Getting a string representation (useful for hash maps or logging)

All without the client library needing to know the underlying representation of a goal ID.

Implementation considerations

Some applications may still want control over specifying their own goal ID generator, so it would be good if there is a feature to override the default function for generating goal IDs.

We should consider employing an existing, cross-platform, C library for working with UUIDs.
If we end up building our own, it is probably more generally useful and can reside in it's own package.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions