-
Notifications
You must be signed in to change notification settings - Fork 48
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
mtsComponentManager::Connect() returns true even when interfaces fail to connect. #43
Comments
Hello, In the initial implementation, the Connect method was just a lookup in maps of components and interfaces to figure out if the connections was feasible and could return something useful. Since we introduced a multi-process layer, the Connect method is just sending a request to a global component manager, potentially in a different process/different computer. Unfortunately, the request is not blocking so there is no easy way in the current implementation to know if the connection was possible or not. This is a known limitation and we hope to fix it. For now, users tend to rely on two mechanisms to see if their interfaces are connected:
Anton Anton Deguet
|
Thanks for the response Anton. My use case here was to create an automated integration test using assertions that could verify that the tasks used in our primary application were properly defined. This failed test would remind a developer that they have to change both sides of an interface. From the two mechanisms you described, i'll either need to parse the cisstLog.txt. Or have each task with a required interface also have a TestReqInterfaceConnection() method which runs each of the execution methods and checks the execution results. Is there a more direct mechanism I could use? Thanks for the help. P.S. I'd suggest making a change in the doxygen to indicate that the Connect method as currently implemented always returns True. |
Hi,
I'm seeing some unexpected behavior using v1.0.6 on Ubuntu 14.04. When running the return value for mtsComponentManager::Connect() appears to be returning TRUE even when the interfaces were not successfully connected. In the code below, I expect the printed value
ret
to be 0, but I'm seeing 1.The text was updated successfully, but these errors were encountered: