Hi Steve,
On Wed, Aug 24, 2016 at 5:38 AM, Steven <
whathasno...@gmail.com> wrote:
> This is great Esteve! Thanks for sharing!
thanks for your kind words :-) Let me know if you find ros2_java
useful and if there's anything that can be improved.
> Cool that you support various middleware implementations!
Any RMW implementation that implements the C typesupport interface
will do. So far all the supported RMW implementations (opensplice,
fastrtps, connext) of ROS2 work with ros2_java.
> How are you thinking of supporting intraprocess communication -- short
> circuit message passing before it makes it to the JNI bindings? Sorry if
> noob questions... I used ROS1 and rosjava awhile ago and have been following
> ROS2 anxious for a stab at a java implementation!
Yeah, what you describe is what I had in mind, all the Java <-> JNI
<-> RCL conversions have a cost, which can be avoided if subscribers
and publishers happen to be running in the same process.
BTW, I forgot to mention what currently works, I ended up focusing too
much on what doesn't in my previous email, I'm a terrible publicist.
- Creation of named nodes
- Code generation for primitives (integers, floating point numbers,
strings, etc.), nested types, lists and fixed-sized arrays
- Typesafe publishers and subscribers for any message
- Android 4.4+, when using
https://github.com/eProsima/Fast-RTPS/pull/26 as a DDS implementation.
Please share your experience in that PR, it'd help the FastRTPS
developers know there's interest in having their code running on Android
and it'd be great to get the changes merged upstream.
- Support for Java 8's lambdas for callbacks and interface-based
callbacks (via implementing the rcljava.Consumer interface) for Java 7
and lower.
- Support for Gradle, no need for CMake for building Java applications
Cheers.