Closed Deric-W closed 1 year ago
@Deric-W Nice work! I will look into it as soon as possible :+1:
I like this MR, let's just resolve this wait set minor issue and I think we will be able to merge.
I will also do a quick Windows test, and @adamdbrw will take a final look at the code :+1:
Did some more tests:
Did you try it on Ubuntu 22.04 with humble? Currently, we are using mono for 22.04, and it looks like there are some issues with building the Client.cs
:
.../ros2cs_core/Client.cs(59,23): error CS1519: Unexpected symbol `<' in class, struct, or interface member declaration
.../ros2cs_core/Client.cs(59,28): error CS1519: Unexpected symbol `,' in class, struct, or interface member declaration
and so on. It looks like there are some clashes with mono :thinking:
I ran tests only on Windows since I dont have any Linux machines right now, I try to change that.
The syntax errors seemed to be caused by tuple literals in generic type signatures, but running mcs
now causes:
Mono.CSharp.InternalErrorException: src/ros2cs/ros2cs_core/Client.cs(24,11): ROS2 ---> Mono.CSharp.InternalErrorException: src/ros2cs/ros2cs_core/Client.cs(30,16): ROS2.Client<I,O> ---> System.ArgumentException: An item with the same key has already been added. Key: PendingTasksView
Out of curiosity: Why is mono being used on Ubuntu 22.04?
We had incompatibility issues with Unity, Ubuntu 22.04 (first releases), and r2cs on .net sdk6.
However, I did a quick test with netstandard2.0 and it looks like it works now :thinking:.
Therefore, I think you can revert 366f16a, and I will migrate u22.04 to dotnet.
@Deric-W :medal_sports: @miyakoshi-dev :medal_sports: Thanks again for your great contribution.
I adjusted the framework versions, and it should be working on dotnet on all OSes.
Hello, this PR is based on #30 created by @miyakoshi-dev and adds improvements to the
Client
implementation. I wanted to contribute the changes to his fork here (contains a summary) but since he told me that he did not have enough time to handle it I created this PR.