-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for services and improve memory managment and error handling #90
Add support for services and improve memory managment and error handling #90
Commits on Apr 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for a86b276 - Browse repository at this point
Copy the full SHA a86b276View commit details -
Configuration menu - View commit details
-
Copy full SHA for 76296d5 - Browse repository at this point
Copy the full SHA 76296d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 081554c - Browse repository at this point
Copy the full SHA 081554cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21077bd - Browse repository at this point
Copy the full SHA 21077bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 317210b - Browse repository at this point
Copy the full SHA 317210bView commit details -
Configuration menu - View commit details
-
Copy full SHA for cee0f2e - Browse repository at this point
Copy the full SHA cee0f2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ddbd879 - Browse repository at this point
Copy the full SHA ddbd879View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0062fe7 - Browse repository at this point
Copy the full SHA 0062fe7View commit details -
Remove Interfaces that expose internal implementation details
Most importent the `IntPtr Handle` property from `ROS2.Interfaces.IDisposable` should not be public. `ROS2.Interfaces.IDisposable` was missleading as well. (`System.IDisposable` is the well kown one) Made appropriate memers internal as well and added some sealed and static modifiers. This was done in preperation for adding SafeHandles to avoid memory leaks, as this would change the implementation detail that was made public by the interfaces. Abstractions such as interfaces have to be designed for extensability. See https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/abstractions-abstract-types-and-interfaces
Configuration menu - View commit details
-
Copy full SHA for f481f75 - Browse repository at this point
Copy the full SHA f481f75View commit details -
Add SafeHandles for Node and related types
As of before this commit native recources for rcl_node_t, rcl_client_t, rcl_publisher_t, rcl_service_t and rcl_subscription_t didn't get released. Used a trick from dotnet/runtime to handle the requirement that node has to be released last. Also added some TODOs to check return values and for checks near allocations use the new throw helper.
Configuration menu - View commit details
-
Copy full SHA for 720b2d1 - Browse repository at this point
Copy the full SHA 720b2d1View commit details -
Add SafeHandles for request id and wait set
- Refactored and renamed some methods to be more consistent. - Added some error handling. - Don't try to take things if the wait set did return a timeout.
Configuration menu - View commit details
-
Copy full SHA for f67991d - Browse repository at this point
Copy the full SHA f67991dView commit details -
Add SafeHandles to generated message types
- renamed IMessage to IRosMessage - moved interfaces for generated types to ROS2 namespace - renamed interface members - used `global::*` in some places to avoid name colisions - added editor browsable never to the members of the interfaces that schould not be used outside of rcldotnet
Configuration menu - View commit details
-
Copy full SHA for e09f569 - Browse repository at this point
Copy the full SHA e09f569View commit details -
- Avoids doing reflection over and over. - If we can require static abstract interface members this could go away.
Configuration menu - View commit details
-
Copy full SHA for a1710a5 - Browse repository at this point
Copy the full SHA a1710a5View commit details -
- move RCLExeptionHelper from rcldotnet_common to rcldotnet for acces to rcl_get_error_string() - get error string using rcl_get_error_string() and add this to the exception message - change throw helper to avoid unrachable code - also some other cleanup
Configuration menu - View commit details
-
Copy full SHA for cbf1725 - Browse repository at this point
Copy the full SHA cbf1725View commit details -
Rename request variable to solve a CS0136 error:
error CS0136: A local or parameter named 'request' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter
Configuration menu - View commit details
-
Copy full SHA for c1502ab - Browse repository at this point
Copy the full SHA c1502abView commit details -
Use
const
instead ofstatic readonly
for constantsThis allows them to be used in switch cases and other places.
Configuration menu - View commit details
-
Copy full SHA for 088793d - Browse repository at this point
Copy the full SHA 088793dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 489d114 - Browse repository at this point
Copy the full SHA 489d114View commit details -
Configuration menu - View commit details
-
Copy full SHA for f824023 - Browse repository at this point
Copy the full SHA f824023View commit details