Service with thread-safe request queue

asked 2019-03-01 07:26:27 -0500

volume_8091 gravatar image

I am using smach for developing logic of my system and my automata work in event-driven paradigm along with other automata, services and nodes.

I was rather upset to discover that not only is there no native service support for smach (only actionlib) but also neither service nor actionlib have embedded request queue to work with multiple calls from several threads.

On the grounds of that I would like to know if there is a standard ROS transport for providing reliable thread-safe service capable of returning results of calls one by one from a request.

As a smach user, I would prefer python solutions. As the logic becomes more sophisticated, extensible solutions (to use priority queue instead of simple later, or to support worker pool for fulfilling context-free requests) would be perfect. Finally, if you recommend basing my event-driven automata approach on a different technology for a good reason, I am also open to that.

edit retag flag offensive close merge delete