The Server Module
This module implements the Capability server.
The Capability server provides access to queries and services related
to capabilities.
-
class capabilities.server.CapabilityInstance(provider, provider_path, started_by='unknown')[source]
Encapsulates the state of an instance of a Capability Provider
This class encapsulates the state of the capability instance and
provides methods for changing the states of the instance.
-
cancel()[source]
Cancels the instance, which can only be done while it is still ‘waiting’
Fails to cancel if the current state is not ‘waiting’.
“Canceling” is achieved by setting the canceled member variable to True.
Returns: | True if canceling is successful, False otherwise |
Return type: | bool |
-
launch()[source]
Change to the ‘launching’ state
Fails to transition if the current state is not ‘waiting’.
Returns: | True if transition is successful, False otherwise |
Return type: | bool |
-
launched(pid)[source]
Called once the instance is “launched”, changes state to ‘running’
Fails to transition if the current state is not ‘launching’.
If successful, the state changes to ‘running’.
Parameters: | pid (int) – process ID of the instance being tracked |
Returns: | True if transition is successful, False otherwise |
Return type: | bool |
-
state[source]
Get the current state of the CapabilityInstance
-
stopped()[source]
Change to the ‘stopping’ state
Fails to transition if the current state is not either ‘running’ or ‘launching’.
Returns: | True if transition is successful, False otherwise |
Return type: | bool |
-
terminated()[source]
Called when the instance has terminated, transitions to the ‘terminated’ state
Fails to transition if the current state is not ‘stopping’.
Returns: | True if transition is successful, False otherwise |
Return type: | bool |
-
class capabilities.server.CapabilityServer(package_paths, screen=None)[source]
A class to expose the discovery.SpecIndex over a ROS API
-
handle_capability_events(event)[source]
Callback for handling messages (events) from the /events topic
This callback only process events generated by this node.
Parameters: | event (capabilities.msgs.CapabilityEvent) – ROS message encapsulating an event |
-
shutdown()[source]
Stops the capability server and cleans up any running processes
-
spin()[source]
Starts the capability server by setting up ROS comms, then spins
-
capabilities.server.get_reverse_depends(name, capability_instances)[source]
Gets the reverse dependencies of a given Capability
Parameters: |
- name (str) – Name of the Capability which the instances might depend on
- capability_instances (list of CapabilityInstance) – list of instances to search for having a
dependency on the given Capability
|
Returns: | A list of CapabilityInstance‘s which depend on the
given Capability name
|
Return type: | list of CapabilityInstance
|