* fix bug where "wait set empty" check was wrong
* clarify rcl_wait is thread-safe with unique sets
* style fixup
* explicitly capture const local variables
this is required on Windows, but not gcc/clang
* add graph functions to support wait_for_service
* is_ready -> is_available
* add function to create rcl_guard_condition from an existing rmw_guard_condition
* create graph guard condition in node automatically
* tests for graph API
* style fixup
* remove debug stuff from test_graph
* only enable test_graph for OpenSplice
* fixup
* add rcl_node_is_valid function
* add tests for new graph API functions
* fixup
* reorder the destruction of node vs waitset
this also addressed the segfault issues, but the
proper fix was committed to rmw_opensplice_cpp
while this ordering is not strictly necessary it
is slightly more correct
* disable missing-field-intializers warning
it's too strict and will be relaxed in newer gcc's
* use to_string since type changes with OS
* use more specific gtest assert to avoid warning
* added a secondary check in the test_graph.test_rcl_service_server_is_available test
* uncrustify
* doc fixup
* condition pragma on not _WIN32
* check rmw id using RCL_CHECK_RMW_ID_MATCHES_OR_DIE
* return a more distinct return code on mismatch
* rename env var to RCL_ASSERT_RMW_ID_MATCHES
* [style] fixup
* Use specific name for subscription topic
* Remove references to node in the guard condition API, it's not needed
* Provide implementation of guard_condition_trigger with the correct name
* Change to trigger_guard_condition
* remove fixed guard conditions
This is as defined in http://design.ros2.org/articles/clock_and_time.html
This has the core functionality implemented in rcl.
It will need to be extended into each client library.
There are also areas to fill in for more support for duration, rates, and timers.