* pass context to wait set, and fini rmw context
Signed-off-by: William Woodall <william@osrfoundation.org>
* use identifier rather than impl to check init status
Signed-off-by: William Woodall <william@osrfoundation.org>
* Implementing the rosout logging feature.
* fixup for PR
* Fixup for PR.
* Fixing broken unit tests.
* Minor fixup for PR.
* Fixing bug in rosout teardown.
* Fixing unit test that broke because the rosout node wasn't getting counted.
* Fixing warnings on Windows.
Otherwise the preprocessor may gobble up the commas in mistake of extra parameters when it is passed to uuidcmpzero.
cppcheck v1.86 was complaining about this line.
* [rcl] Add test for copying arguments struct with no arguments
* Override allocate function in test to reveal bug
* [rcl] Only allocate arrays if there are things to copy in rcl_argument_copy()
Also guard against freeing invalid pointers if rcl_argument_copy() fails.
* Remove uncessary guard against NULL pointer
* Adding new cli parameters for configuring the logging.
cr https://code.amazon.com/reviews/CR-3728503
* Moving the external logger library from rcutils into rcl. Also automatic uncrustify.
* Fixing issue with rebase
* Temporarily switching the default to noop logger ext_lib while system dependency issue is solved for Windows/Mac.
* Fixing the format2/3 xmllint issue.
* style changes, and one actual fix
Signed-off-by: William Woodall <william@osrfoundation.org>
* rename rc_logging* to rcl_logging*
Signed-off-by: William Woodall <william@osrfoundation.org>
* Expand rcl_logging_configure API with allocator
This is to make sure that this API is complete, and we can merge rcl#350 later without breaking the API at a later date.
* update logging.c with new use of allocator in API
* update init.c with new API changes
* Switching back to va_list for output handlers.
* address review comments
Signed-off-by: William Woodall <william@osrfoundation.org>
* Add action_interaction_tests
* Fixed tests to work with new uuid
* Added comments for each test
* Addressed peer review comments
* Removed unnecessary rcl_reset_error calls from test_action_communication
* Addressed second part of peer review
* fix compiler warning in clang
Signed-off-by: William Woodall <william@osrfoundation.org>
* same thing but for node too
Signed-off-by: William Woodall <william@osrfoundation.org>
* refactor init to not be global
Signed-off-by: William Woodall <william@osrfoundation.org>
* style changes
Signed-off-by: William Woodall <william@osrfoundation.org>
* refactor to hide use of C11 atomics in implementation
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix new action tests
Signed-off-by: William Woodall <william@osrfoundation.org>
* use alternative atomic init for Windows support
* updates after rebase
Signed-off-by: William Woodall <william@osrfoundation.org>
* cleanup rmw_init_options before copying
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix two bugs in new init code
* relax validity checks in a few places to facilitate post shutdown cleanup
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixing tests for new API behavior
Signed-off-by: William Woodall <william@osrfoundation.org>
* to allocator -> to allocate
* acutally call rmw_shutdown() and address review comments
Signed-off-by: William Woodall <william@osrfoundation.org>
Added action cancel test
Added action result communication test
Added action status communication test
Added action feedback communication test
Fix wrong return code in action client
* Implement action server init, fini, and is_valid functions
* Add macros for initializing services and publishers
* Implement rcl_action_server_get_default_options()
* Implement rcl_action_accept_new_goal()
* Add function, rcl_action_server_goal_exists(), for checking if goal is already being tracked by an action server
* Add unit tests
* Implement rcl_action_server_get_goal_handles()
* Implement rcl_action_server_get_options()
* Implement rcl_action_server_get_action_name()
* Implement rcl_action_get_goal_status_array()
* Bugfix: reset pointers and size in type finalize functions
Also let finalize functions be called on already finalized objects
* Implement send/take functions for action server services
* Implement action server publishers for feedback and status
* Implement rcl_action_process_cancel_request()
* Add partial communication tests
* Define UUID_SIZE
* Use type-erased pointer for rcl_action_publish_status()
* Implement rcl_action_clear_expired_goals()
Introduce rcl_clock_t to action server implementation.
* Change internal goal handle array to be an array of pointers.
* Add check for invalid action names
* Do heap allocation of temporary array to satisfy MSVC compiler
* Bugfix: finalize node in test tear downs and reset expected errors
* Update documentation
* Update package.xml
* Pass in rcl_clock_t to action server
Rather than initializing internally.
* Do not finalize goal handles in expire function
Instead, leave it up to the caller to finalize goal handles.
Renamed the function to rcl_action_expire_goals.