|
|
#include <RobotComponents/components/MotionPlanning/MotionPlanningServer.h>
Inheritance diagram for MotionPlanningServer:Classes | |
| struct | TaskAndRemoteHandle |
Public Member Functions | |
| armarx::PropertyDefinitionsPtr | createPropertyDefinitions () override |
| armarx::ClientSideRemoteHandleControlBlockBasePtr | enqueueTask (const MotionPlanningTaskBasePtr &task, const Ice::Current &=Ice::emptyCurrent) override |
| Enqueues a task. | |
| TaskInfoSeq | getAllTaskInfo (const Ice::Current &=Ice::emptyCurrent) const override |
| Returns information about all tasks. | |
| ClientSideRemoteHandleControlBlockBasePtr | getCurrentTaskHandle (const Ice::Current &) override |
| std::string | getDefaultName () const override |
| Returns the server's default name. | |
| Ice::Long | getNumberOfQueuedTasks (const Ice::Current &) const override |
| Returns the number of queued tasks. | |
| Ice::Long | getNumberOfTasks (const Ice::Current &=Ice::emptyCurrent) const override |
| Returns the number of tasks. | |
| CSpaceAndPaths | getTaskCSpaceAndPathsById (Ice::Long id, const Ice::Current &=Ice::emptyCurrent) override |
| Returns a task's cspace and all found paths. | |
| bool | loadLibFromPackage (const std::string &package, const std::string &lib, const Ice::Current &=Ice::emptyCurrent) override |
| bool | loadLibFromPath (const std::string &path, const Ice::Current &=Ice::emptyCurrent) override |
| MotionPlanningServer ()=default | |
| ctor | |
| void | onConnectComponent () override |
| Connects to the used RemoteObjectNodes. | |
| void | onDisconnectComponent () override |
| noop | |
| void | onExitComponent () override |
| cleans up and joins the dispatcher | |
| void | onInitComponent () override |
| Initializes the server and starts the dispatcher thread. | |
| ~MotionPlanningServer () override | |
| dtor | |
Public Member Functions inherited from Component | |
| virtual void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) |
| Implement this function if you would like to react to changes in the properties. | |
| void | forceComponentCreatedByComponentCreateFunc () |
| forces the flag to be set to true that the object instance was created by the Component::create function | |
| std::vector< PropertyUserPtr > | getAdditionalPropertyUsers () const |
| template<typename PropertyType> | |
| Property< PropertyType > | getProperty (const std::string &name) |
| template<typename PropertyType> | |
| Property< PropertyType > | getProperty (const std::string &name) const |
| template<class T> | |
| void | getProperty (std::atomic< T > &val, const std::string &name) const |
| template<class T> | |
| void | getProperty (T &val, const std::string &name) const |
| template<class ProxyType> | |
| ProxyType | getProxyFromProperty (const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
| Get a proxy whose name is specified by the given property. | |
| template<class ProxyType> | |
| void | getProxyFromProperty (ProxyType &proxy, const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
| template<class TopicProxyType> | |
| TopicProxyType | getTopicFromProperty (const std::string &propertyName) |
| Get a topic proxy whose name is specified by the given property. | |
| template<class TopicProxyType> | |
| void | getTopicFromProperty (TopicProxyType &top, const std::string &propertyName) |
| void | initializeProperties (const std::string &configName, Ice::PropertiesPtr const &properties, const std::string &configDomain) |
| initializes the properties of this component. | |
| void | injectPropertyDefinitions (PropertyDefinitionsPtr &props) override |
| void | offeringTopicFromProperty (const std::string &propertyName) |
| Offer a topic whose name is specified by the given property. | |
| virtual void | preOnConnectComponent () override |
| virtual void | preOnInitComponent () override |
| bool | usingProxyFromProperty (const std::string &propertyName, const std::string &endpoints="") |
| Use a proxy whose name is specified by the given property. | |
| void | usingTopicFromProperty (const std::string &propertyName, bool orderedPublishing=false) |
| Use a topic whose name is specified by the given property. | |
Public Member Functions inherited from ManagedIceObject | |
| void | enableProfiler (bool enable) |
| setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) | |
| std::string | generateSubObjectName (const std::string &subObjectName) |
| Generates a unique name for a sub object from a general name. | |
| ArmarXManagerPtr | getArmarXManager () const |
| Returns the ArmarX manager used to add and remove components. | |
| ManagedIceObjectConnectivity | getConnectivity () const |
| Retrieve connectivity of the object (topcis as well as proxies) | |
| IceManagerPtr | getIceManager () const |
| Returns the IceManager. | |
| VariantBasePtr | getMetaInfo (const std::string &id) |
| StringVariantBaseMap | getMetaInfoMap () const |
| std::string | getName () const |
| Retrieve name of object. | |
| Ice::ObjectAdapterPtr | getObjectAdapter () const |
| Returns object's Ice adapter. | |
| ArmarXObjectSchedulerPtr | getObjectScheduler () const |
| PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
| Profiler::ProfilerPtr | getProfiler () const |
| getProfiler returns an instance of armarx::Profiler | |
| template<class ProxyTarg, class... Args> | |
| void | getProxy (const char *name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&... args) |
| template<class ProxyType> | |
| ProxyType | getProxy (const std::string &name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
| Retrieves a proxy object. | |
| template<class ProxyTarg, class... Args> | |
| void | getProxy (const std::string &name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&... args) |
| template<class ProxyTarg, class... Args> | |
| void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const char *name, Args &&... args) |
| template<class ProxyTarg, class... Args> | |
| void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const std::string &name, Args &&... args) |
Assigns a proxy to proxy. | |
| Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
| Returns the proxy of this object (optionally it waits for the proxy) | |
| template<class Prx> | |
| Prx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
| template<class ProxyType> | |
| void | getProxy (ProxyType &proxy, const char *name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
| Overload to allow using string literals as name (solve ambiguous overload). | |
| template<class Prx> | |
| void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
| int | getState () const |
| Retrieve current state of the ManagedIceObject. | |
| template<class TopicProxyType> | |
| TopicProxyType | getTopic (const std::string &name) |
| Returns a proxy of the specified topic. | |
| template<class TopicProxyType> | |
| void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy. | |
| std::vector< std::string > | getUnresolvedDependencies () const |
| returns the names of all unresolved dependencies | |
| ManagedIceObject (ManagedIceObject const &other) | |
| void | offeringTopic (const std::string &name) |
| Registers a topic for retrival after initialization. | |
| void | preambleGetTopic (std::string const &name) |
| void | setMetaInfo (const std::string &id, const VariantBasePtr &value) |
| Allows to set meta information that can be queried live via Ice interface on the ArmarXManager. | |
| void | startPeriodicTask (const std::string &uniqueName, std::function< void(void)> f, int periodMs, bool assureMeanInterval=false, bool forceSystemTime=true) |
| bool | stopPeriodicTask (const std::string &name) |
| bool | unsubscribeFromTopic (const std::string &name) |
| Unsubscribe from a topic. | |
| bool | usingProxy (const std::string &name, const std::string &endpoints="") |
| Registers a proxy for retrieval after initialization and adds it to the dependency list. | |
| void | usingTopic (const std::string &name, bool orderedPublishing=false) |
| Registers a proxy for subscription after initialization. | |
| void | waitForObjectScheduler () |
| Waits until the ObjectScheduler could resolve all dependencies. | |
| void | waitForProxy (std::string const &name, bool addToDependencies) |
Public Member Functions inherited from Logging | |
| SpamFilterDataPtr | deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const |
| disables the logging for the current line for the given amount of seconds. | |
| MessageTypeT | getEffectiveLoggingLevel () const |
| Logging () | |
| void | setLocalMinimumLoggingLevel (MessageTypeT level) |
| With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. | |
| void | setTag (const LogTag &tag) |
| void | setTag (const std::string &tagName) |
| virtual | ~Logging () |
Public Member Functions inherited from PropertyUser | |
| std::vector< std::string > | getComponentProxyNames () |
| Ice::PropertiesPtr | getIceProperties () const |
| Returns the set of Ice properties. | |
| template<typename PropertyType> | |
| Property< PropertyType > | getProperty (const std::string &name) |
| Property creation and retrieval. | |
| template<typename PropertyType> | |
| Property< PropertyType > | getProperty (const std::string &name) const |
Hack to allow using getProperty in const-modified methods. | |
| template<class T> | |
| void | getProperty (std::atomic< T > &val, const std::string &name) const |
| template<class T> | |
| void | getProperty (T &val, const std::string &name) const |
| template<class T> | |
| std::vector< T > | getPropertyAsCSV (const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
| template<class ContainerT> | |
| void | getPropertyAsCSV (ContainerT &val, const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
| PropertyDefinitionsPtr | getPropertyDefinitions () |
| Returns the component's property definition container. | |
| std::vector< std::string > | getSubscribedTopicNames () |
| std::vector< std::string > | getTopicProxyNames () |
| bool | hasProperty (const std::string &name) |
| PropertyUser () | |
| virtual void | setIceProperties (Ice::PropertiesPtr properties) |
| Sets the Ice properties. | |
| bool | tryAddProperty (const std::string &propertyName, const std::string &value) |
| virtual void | updateIceProperties (const std::map< std::string, std::string > &changes) |
| void | updateProperties () |
| void | updateProxies (IceManagerPtr) |
| ~PropertyUser () override | |
Protected Types | |
| using | TaskMap = std::unordered_map<Ice::Long, TaskAndRemoteHandle> |
| The type of the map of tasks. | |
Protected Member Functions | |
| bool | deleteTaskById (Ice::Long id) |
| void | dispatcherTask () |
| the dispatcher task. | |
| Ice::Long | getNewTaskId () |
| Returns a new task id. | |
Protected Member Functions inherited from Component | |
| void | addPropertyUser (const PropertyUserPtr &subPropertyUser) |
| Add additional property users here that should show up in the application help text. | |
| Component () | |
| Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead. | |
| std::string | getConfigDomain () |
| Retrieve config domain for this component as set in constructor. | |
| std::string | getConfigIdentifier () |
| Retrieve config identifier for this component as set in constructor. | |
| std::string | getConfigName () |
| Retrieve config name for this component as set in constructor. | |
| virtual void | icePropertiesInitialized () |
Protected Member Functions inherited from ManagedIceObject | |
| template<class PluginT, class... ParamsT> | |
| PluginT * | addPlugin (const std::string prefix="", ParamsT &&... params) |
| template<class PluginT, class... ParamsT> | |
| void | addPlugin (PluginT *&targ, const std::string prefix="", ParamsT &&... params) |
| template<class PluginT, class... ParamsT> | |
| void | addPlugin (std::experimental::observer_ptr< PluginT > &targ, const std::string prefix="", ParamsT &&... params) |
| Ice::CommunicatorPtr | getCommunicator () const |
| std::unique_ptr< ManagedIceObjectPlugin > & | getPluginPointer (std::type_info const &type, std::string const &prefix) |
| ManagedIceObject () | |
| Protected default constructor. | |
| virtual void | postOnConnectComponent () |
| virtual void | postOnDisconnectComponent () |
| virtual void | postOnExitComponent () |
| virtual void | postOnInitComponent () |
| virtual void | preOnDisconnectComponent () |
| virtual void | preOnExitComponent () |
| bool | removeProxyDependency (const std::string &name) |
| This function removes the dependency of this object on the in parameter name specified object. | |
| void | setName (std::string name) |
| Override name of well-known object. | |
| void | terminate () |
| Initiates termination of this IceManagedObject. | |
| ~ManagedIceObject () override | |
Protected Member Functions inherited from Logging | |
| bool | checkLogLevel (MessageTypeT level) const |
| const LogSenderPtr & | getLogSender () const |
| Retrieve log sender. | |
| LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Protected Attributes | |
| SimoxCSpacePtr | cacheCSpace |
| TaskAndRemoteHandle | currentTask |
| currentTask stores a handle to the currently dispatched planning task. | |
| std::atomic_bool | dispatcherKillRequest {false} |
| Whether the dispatcher should shut down. | |
| std::thread | dispatcherThread |
| The dispatcher's thread. | |
| std::map< std::string, DynamicLibraryPtr > | loadedLibs |
| RemoteObjectNodePtr | localNode |
| float | localNodePercent |
| Percentage of cores used by the local ron (if started). | |
| std::atomic< Ice::Long > | nextTaskId {std::numeric_limits<Ice::Long>::min()} |
| the next task id. | |
| std::recursive_mutex | queueMutex |
| mutex protecting the task queue | |
| std::vector< std::string > | remoteObjectNodeNames |
| The used remote object nodes' names. | |
| std::vector< armarx::RemoteObjectNodeInterfacePrx > | remoteObjectNodes |
| The used remote object nodes. | |
| bool | startLocalNode |
| Whether a local node should be started, if no rons were provided. | |
| std::set< Ice::Long > | taskQueue |
| Contains the queue of task ids to execute. | |
| TaskMap | tasks |
| The map of tasks. | |
| std::condition_variable_any | waitForTaskOrDispatcherKill |
| The dispatcher's cv. | |
Protected Attributes inherited from Logging | |
| MessageTypeT | minimumLoggingLevel |
| SpamFilterDataPtr | spamFilter |
| LogTag | tag |
Additional Inherited Members | |
Public Types inherited from ManagedIceObject | |
| using | PeriodicTaskPtr = IceUtil::Handle<SimplePeriodicTask<std::function<void(void)>>> |
Static Public Member Functions inherited from Component | |
| template<class T, class TPtr = IceInternal::Handle<T>> | |
| static TPtr | create (Ice::PropertiesPtr properties=Ice::createProperties(), const std::string &configName="", const std::string &configDomain="ArmarX") |
| Factory method for a component. | |
Static Public Member Functions inherited from ManagedIceObject | |
| static std::string | generateSubObjectName (const std::string &superObjectName, const std::string &subObjectName) |
| Generates a unique name for a sub object from a general name and unique name. | |
| static std::string | GetObjectStateAsString (int state) |
Static Public Attributes inherited from ManagedIceObject | |
| static const ManagedIceObjectPtr | NullPtr |
| A nullptr to be used when a const ref to a nullptr is required. | |
Definition at line 89 of file MotionPlanningServer.h.
|
protected |
The type of the map of tasks.
Definition at line 253 of file MotionPlanningServer.h.
|
default |
ctor
|
inlineoverride |
dtor
Definition at line 102 of file MotionPlanningServer.h.
|
inlineoverridevirtual |
Reimplemented from Component.
Definition at line 152 of file MotionPlanningServer.h.
Here is the call graph for this function:
|
protected |
Definition at line 265 of file MotionPlanningServer.cpp.
|
protected |
the dispatcher task.
(executed by the dispatcherThread)
Definition at line 145 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
override |
Enqueues a task.
| task | The task. |
Definition at line 288 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
|
override |
Returns information about all tasks.
Definition at line 346 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
|
override |
Definition at line 368 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineoverridevirtual |
Returns the server's default name.
Implements ManagedIceObject.
Definition at line 118 of file MotionPlanningServer.h.
|
inlineprotected |
Returns a new task id.
Definition at line 219 of file MotionPlanningServer.h.
Here is the caller graph for this function:
|
override |
Returns the number of queued tasks.
Definition at line 339 of file MotionPlanningServer.cpp.
|
override |
Returns the number of tasks.
Definition at line 332 of file MotionPlanningServer.cpp.
|
override |
Returns a task's cspace and all found paths.
| id | The id. |
Definition at line 379 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
override |
Definition at line 455 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
override |
Definition at line 440 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Connects to the used RemoteObjectNodes.
Implements ManagedIceObject.
Definition at line 72 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
|
inlineoverridevirtual |
|
overridevirtual |
cleans up and joins the dispatcher
Reimplemented from ManagedIceObject.
Definition at line 110 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
|
overridevirtual |
Initializes the server and starts the dispatcher thread.
Implements ManagedIceObject.
Definition at line 45 of file MotionPlanningServer.cpp.
Here is the call graph for this function:
|
protected |
Definition at line 298 of file MotionPlanningServer.h.
|
protected |
currentTask stores a handle to the currently dispatched planning task.
Definition at line 262 of file MotionPlanningServer.h.
|
protected |
Whether the dispatcher should shut down.
Definition at line 294 of file MotionPlanningServer.h.
|
protected |
The dispatcher's thread.
Definition at line 290 of file MotionPlanningServer.h.
|
protected |
Definition at line 296 of file MotionPlanningServer.h.
|
protected |
Definition at line 242 of file MotionPlanningServer.h.
|
protected |
Percentage of cores used by the local ron (if started).
Definition at line 240 of file MotionPlanningServer.h.
|
protected |
the next task id.
Definition at line 212 of file MotionPlanningServer.h.
|
mutableprotected |
mutex protecting the task queue
Definition at line 276 of file MotionPlanningServer.h.
|
protected |
The used remote object nodes' names.
Definition at line 227 of file MotionPlanningServer.h.
|
protected |
The used remote object nodes.
Definition at line 231 of file MotionPlanningServer.h.
|
protected |
Whether a local node should be started, if no rons were provided.
Definition at line 236 of file MotionPlanningServer.h.
|
protected |
Contains the queue of task ids to execute.
If not empty the first id is the next task to execute A set is used since the queue lacks an erase function and ids are added in ascending order.
Definition at line 271 of file MotionPlanningServer.h.
|
protected |
The map of tasks.
Definition at line 257 of file MotionPlanningServer.h.
|
protected |
The dispatcher's cv.
Definition at line 286 of file MotionPlanningServer.h.