This thread is giving me the impression that it would be useful for the server to be able to send a global status message. For servers for which this is relevant, they could say whether they are busy via this mechanism. This could probably be done just using a normal topic, but that might introduce races that could be avoided with better integration with actionlib. Then again, you inherently have a race: if multiple clients see the server as free, and all submit requests at once, you could run into trouble. I would use this global feedback topic in wpa_supplicant_node to send feedback that is relevant to all clients. (For example, when you do a wifi scan, you might be interested in the results of other clients' scans. Currently I just do that via a separate topic.) On Fri, Oct 22, 2010 at 10:38 AM, Eitan Marder-Eppstein wrote: > Daniel, > If your goal is to check whether or not an action server is processing a > goal, there's no tool currently to give you that information. It would be > simple to write something that listens to status and lets you know if any > goals for a given server are marked as active, and it wouldn't be > unreasonable to put this logic into the action client. You should feel free > to create a ticket for this feature request. With that said, action servers > have a number of different policies when it comes to handling goals, as > Blaise mentioned, and will do different things when you send a goal to them. > I can, however, see use cases where you might not want to send a goal to an > action server when it is already processing a request. > Hope all is well, > Eitan > > On Fri, Oct 22, 2010 at 8:53 AM, Blaise Gassend > wrote: >> >> Hi Daniel, >> >> getState() is telling you the state of the client's current goal, not >> the state of the server. Hence, if there is no goal, getState is >> meaningless. This makes sense because a server could have the ability >> to handle multiple goals in parallel. Hence, there isn't a single >> state for the server that you can query. >> >> I imagine that what you are trying to do is determine if a server that >> can only handle a single goal is currently busy. I don't think that >> there is a general answer to that question. Some servers might reject >> your goal if they are already busy. Others might interrupt the >> existing goal. Let's see what others have to reply. >> >> Blaise >> >> On Fri, Oct 22, 2010 at 12:51 AM, Daniel Stonier >> wrote: >> > >> > Just a quick question with regards to the simple action client - why is >> > using the getState() method considered improper when there is no goal >> > (action client outputs an ROS_ERROR when you do so). Is there another >> > means >> > of querying the server to know whether it is currently handling a goal >> > or >> > not? >> > Or perhaps, am I mistaken in thinking that I should be needing to? >> > Regards, >> > Daniel Stonier. >> > -- >> > Phone : +82-10-5400-3296 (010-5400-3296) >> > Home: http://snorriheim.dnsdojo.com/ >> > Yujin Robot: http://www.yujinrobot.com/ >> > Eros: http://www.ros.org/wiki/eros >> > Embedded Control Libraries: >> > http://snorriheim.dnsdojo.com/redmine/wiki/ecl >> > >> > _______________________________________________ >> > ros-users mailing list >> > ros-users@code.ros.org >> > https://code.ros.org/mailman/listinfo/ros-users >> > >> > >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >