|
#include <RobotComponents/components/MotionPlanning/Tasks/RRTConnect/WorkerNode.h>
Public Types | |
using | ConfigType = VectorXf |
![]() | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
Public Member Functions | |
void | abort (const ::Ice::Current &=Ice::emptyCurrent) override |
void | applyUpdates () |
std::string | getDefaultName () const override |
Retrieve default name of component. More... | |
Update | getUpdate (Ice::Long updateId, const Ice::Current &=Ice::emptyCurrent) const override |
void | ice_postUnmarshal () override |
void | onConnectComponent () override |
Pure virtual hook for the subclass. More... | |
void | onExitComponent () override |
Hook for subclass. More... | |
void | onInitComponent () override |
Pure virtual hook for the subclass. More... | |
void | setWorkerNodes (const WorkerNodeBasePrxList &workers, const Ice::Current &=Ice::emptyCurrent) override |
void | updateTree (const Update &u, const Ice::Current &=Ice::emptyCurrent) override |
~WorkerNode () override | |
dtor. More... | |
![]() | |
void | enableProfiler (bool enable) |
setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) More... | |
std::string | generateSubObjectName (const std::string &subObjectName) |
Generates a unique name for a sub object from a general name. More... | |
ArmarXManagerPtr | getArmarXManager () const |
Returns the ArmarX manager used to add and remove components. More... | |
ManagedIceObjectConnectivity | getConnectivity () const |
Retrieve connectivity of the object (topcis as well as proxies) More... | |
IceManagerPtr | getIceManager () const |
Returns the IceManager. More... | |
VariantBasePtr | getMetaInfo (const std::string &id) |
StringVariantBaseMap | getMetaInfoMap () const |
std::string | getName () const |
Retrieve name of object. More... | |
Ice::ObjectAdapterPtr | getObjectAdapter () const |
Returns object's Ice adapter. More... | |
ArmarXObjectSchedulerPtr | getObjectScheduler () const |
PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
Profiler::ProfilerPtr | getProfiler () const |
getProfiler returns an instance of armarx::Profiler More... | |
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. More... | |
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 . More... | |
Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
Returns the proxy of this object (optionally it waits for the proxy) More... | |
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). More... | |
template<class Prx > | |
void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
int | getState () const |
Retrieve current state of the ManagedIceObject. More... | |
template<class TopicProxyType > | |
TopicProxyType | getTopic (const std::string &name) |
Returns a proxy of the specified topic. More... | |
template<class TopicProxyType > | |
void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy . More... | |
std::vector< std::string > | getUnresolvedDependencies () const |
returns the names of all unresolved dependencies More... | |
ManagedIceObject (ManagedIceObject const &other) | |
void | offeringTopic (const std::string &name) |
Registers a topic for retrival after initialization. More... | |
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. More... | |
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. More... | |
bool | usingProxy (const std::string &name, const std::string &endpoints="") |
Registers a proxy for retrieval after initialization and adds it to the dependency list. More... | |
void | usingTopic (const std::string &name, bool orderedPublishing=false) |
Registers a proxy for subscription after initialization. More... | |
void | waitForObjectScheduler () |
Waits until the ObjectScheduler could resolve all dependencies. More... | |
void | waitForProxy (std::string const &name, bool addToDependencies) |
![]() | |
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. More... | |
MessageTypeT | getEffectiveLoggingLevel () const |
Logging () | |
void | setLocalMinimumLoggingLevel (MessageTypeT level) |
With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More... | |
void | setTag (const LogTag &tag) |
void | setTag (const std::string &tagName) |
virtual | ~Logging () |
Protected Member Functions | |
NodeId | addNode (const ConfigType &cfg, const NodeId &parent, bool addToPrimaryTree) |
NodeId | addNodeToPrimaryTree (const ConfigType &cfg, const NodeId &parent) |
NodeId | addNodeToSecondaryTree (const ConfigType &cfg, const NodeId &parent) |
std::size_t | getDimensionality () |
Tree & | getPrimaryTree () |
Ice::Byte | getPrimaryTreeId () const |
Update | getRemoteUpdate (Ice::Long workerNodeId, Ice::Long updateSubId) |
Tree & | getSecondaryTree () |
Ice::Byte | getSecondaryTreeId () const |
void | prepareNextUpdate () |
void | sendUpdate () |
void | swapTrees () |
WorkerNode ()=default | |
Only used when transmitting through ice. More... | |
void | workerTask () |
The worker task. More... | |
![]() | |
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. More... | |
virtual void | onDisconnectComponent () |
Hook for subclass. More... | |
virtual void | postOnConnectComponent () |
virtual void | postOnDisconnectComponent () |
virtual void | postOnExitComponent () |
virtual void | postOnInitComponent () |
virtual void | preOnConnectComponent () |
virtual void | preOnDisconnectComponent () |
virtual void | preOnExitComponent () |
virtual void | preOnInitComponent () |
bool | removeProxyDependency (const std::string &name) |
This function removes the dependency of this object on the in parameter name specified object. More... | |
void | setName (std::string name) |
Override name of well-known object. More... | |
void | terminate () |
Initiates termination of this IceManagedObject. More... | |
~ManagedIceObject () override | |
![]() | |
bool | checkLogLevel (MessageTypeT level) const |
const LogSenderPtr & | getLogSender () const |
Retrieve log sender. More... | |
LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Protected Attributes | |
std::atomic_bool | abortRequest |
std::atomic_bool | doApplyUpdates {false} |
bool | fromStartIsPrimaryTree = true |
TreeUpdateInterfacePrx | globalWorkers |
std::deque< Update > | localUpdates |
std::unique_ptr< CuboidSampler > | sampler |
Tree | treeFromGoal |
Tree | treeFromStart |
std::mutex | updateMutex |
Updater | updater |
WorkerNodeBasePrxList | workers |
std::thread | workerThread |
![]() | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
Friends | |
class | GenericFactory< WorkerNodeBase, WorkerNode > |
Additional Inherited Members | |
![]() | |
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. More... | |
static std::string | GetObjectStateAsString (int state) |
![]() | |
static const ManagedIceObjectPtr | NullPtr |
A nullptr to be used when a const ref to a nullptr is required. More... | |
Definition at line 55 of file WorkerNode.h.
using ConfigType = VectorXf |
Definition at line 58 of file WorkerNode.h.
|
inlineoverride |
|
protecteddefault |
Only used when transmitting through ice.
|
inlineoverride |
|
protected |
Definition at line 253 of file WorkerNode.cpp.
|
inlineprotected |
Definition at line 138 of file WorkerNode.h.
|
inlineprotected |
Definition at line 144 of file WorkerNode.h.
void applyUpdates | ( | ) |
Definition at line 101 of file WorkerNode.cpp.
|
inlineoverridevirtual |
Retrieve default name of component.
Implement this method in each IceManagedObject. The default name of a is used if no name is specified in the factory method.
Implements ManagedIceObject.
Definition at line 81 of file WorkerNode.h.
|
inlineprotected |
Definition at line 153 of file WorkerNode.h.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
workerNodeId | The update's worker id. |
updateSubId | The update's sub id. |
Definition at line 119 of file WorkerNode.h.
|
inlineprotected |
|
inlineprotected |
|
override |
Definition at line 73 of file WorkerNode.cpp.
|
override |
|
overridevirtual |
Pure virtual hook for the subclass.
Is called once all dependencies of the object have been resolved and Ice connection is established. This hook is called whenever the dependencies are found. That means if the a depedency crashes or shuts down, the ManagedIceObject goes into disconnected state. When the dependencies are found again, this hook is called again.
Implements ManagedIceObject.
Definition at line 43 of file WorkerNode.cpp.
|
overridevirtual |
Hook for subclass.
Is called once the component terminates. Use for cleanup. Only called once.
Reimplemented from ManagedIceObject.
Definition at line 66 of file WorkerNode.cpp.
|
overridevirtual |
Pure virtual hook for the subclass.
Is called once initialization of the ManagedIceObject is done. This hook is called in the implenting class once and never again during the lifecyle of the object. This function is called as soon as the ManagedIceObject was added to the ArmarXManager. Called in an own thread and not the thread it was created in.
Implements ManagedIceObject.
Definition at line 32 of file WorkerNode.cpp.
|
protected |
|
protected |
Definition at line 225 of file WorkerNode.cpp.
|
override |
|
inlineprotected |
|
override |
|
protected |
The worker task.
It performs all planning.
Definition at line 123 of file WorkerNode.cpp.
|
friend |
Definition at line 107 of file WorkerNode.h.
|
protected |
Definition at line 202 of file WorkerNode.h.
|
protected |
Definition at line 195 of file WorkerNode.h.
|
protected |
Definition at line 190 of file WorkerNode.h.
|
protected |
Definition at line 200 of file WorkerNode.h.
|
protected |
Definition at line 204 of file WorkerNode.h.
|
protected |
Definition at line 206 of file WorkerNode.h.
|
protected |
Definition at line 189 of file WorkerNode.h.
|
protected |
Definition at line 188 of file WorkerNode.h.
|
mutableprotected |
Definition at line 192 of file WorkerNode.h.
|
protected |
Definition at line 193 of file WorkerNode.h.
|
protected |
Definition at line 196 of file WorkerNode.h.
|
protected |
Definition at line 198 of file WorkerNode.h.