|
CPN
Computational Process Networks
|
The Kernel declaration. More...
#include <Kernel.h>
Inheritance diagram for CPN::Kernel:
Collaboration diagram for CPN::Kernel:Public Member Functions | |
| Kernel (const KernelAttr &kattr) | |
| ~Kernel () | |
| void | Wait () |
| void | Terminate () |
| bool | IsTerminated () |
| void | CheckTerminated () |
| Convenience method that checks IsTerminated and if so throws a ShutdownException. More... | |
| Key_t | CreateNode (const NodeAttr &attr) |
| Key_t | CreateNode (const std::string &name_, const std::string &nodetype_) |
| Same as CreateNode that takes a NodeAttr except only the required parameters are set. More... | |
| void | CreateExternalReader (const std::string &name) |
| Create an external reader. More... | |
| void | CreateExternalWriter (const std::string &name) |
| shared_ptr< QueueWriter > | GetExternalOQueue (const std::string &name) |
| shared_ptr< QueueReader > | GetExternalIQueue (const std::string &name) |
| void | DestroyExternalEndpoint (const std::string &name) |
| void | WaitForNode (const std::string &nodename) |
| void | WaitForAllNodes () |
| Waits until there are no running nodes. More... | |
| void | WaitForNodeStart (const std::string &nodename) |
| Wait for the given node to start. More... | |
| void | CreateQueue (const QueueAttr &attr) |
| Create a new queue. More... | |
| LoggerOutput * | GetLogger () |
| const std::string | GetName () const |
| Key_t | GetKey () const |
| shared_ptr< Context > | GetContext () const |
| void | NodeTerminated (Key_t key) |
| Called by the node in the cleanup routine. TO BE CALLED ONLY BY THE CPN INTERNALS. More... | |
| void | LoadSharedLib (const std::string &libname) |
| Attempts to load the given dynamic library and make the symbols inside available to be searched for node types. The library will be unloaded on distruction. More... | |
| void | LoadNodeList (const std::string &filename) |
| void | SearchDirectory (const std::string &dirname) |
| NodeFactory * | GetNodeFactory (const std::string &nodetype) |
| Return a pointer to the node factory that produces the given node type. May load a shared library to find the node factory. More... | |
| void | RegisterNodeFactory (shared_ptr< NodeFactory > factory) |
| A function that lets others register node factories. More... | |
| unsigned | CalculateGrowSize (unsigned currentsize, unsigned request) |
| Calculate the new queue size when a queue needs to grow. More... | |
| template<typename Function > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func) |
| Instantiating a function node. More... | |
| template<typename Function , typename Argument1 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1) |
| template<typename Function , typename Argument1 , typename Argument2 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1, Argument2 arg2) |
| template<typename Function , typename Argument1 , typename Argument2 , typename Argument3 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1, Argument2 arg2, Argument3 arg3) |
| template<typename Function , typename Argument1 , typename Argument2 , typename Argument3 , typename Argument4 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1, Argument2 arg2, Argument3 arg3, Argument4 arg4) |
| template<typename Function , typename Argument1 , typename Argument2 , typename Argument3 , typename Argument4 , typename Argument5 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1, Argument2 arg2, Argument3 arg3, Argument4 arg4, Argument5 arg5) |
| template<typename Function , typename Argument1 , typename Argument2 , typename Argument3 , typename Argument4 , typename Argument5 , typename Argument6 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1, Argument2 arg2, Argument3 arg3, Argument4 arg4, Argument5 arg5, Argument6 arg6) |
| template<typename Function , typename Argument1 , typename Argument2 , typename Argument3 , typename Argument4 , typename Argument5 , typename Argument6 , typename Argument7 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1, Argument2 arg2, Argument3 arg3, Argument4 arg4, Argument5 arg5, Argument6 arg6, Argument7 arg7) |
| template<typename Function , typename Argument1 , typename Argument2 , typename Argument3 , typename Argument4 , typename Argument5 , typename Argument6 , typename Argument7 , typename Argument8 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1, Argument2 arg2, Argument3 arg3, Argument4 arg4, Argument5 arg5, Argument6 arg6, Argument7 arg7, Argument8 arg8) |
| template<typename Function , typename Argument1 , typename Argument2 , typename Argument3 , typename Argument4 , typename Argument5 , typename Argument6 , typename Argument7 , typename Argument8 , typename Argument9 > | |
| Key_t | CreateFunctionNode (const std::string &nodename, Function func, Argument1 arg1, Argument2 arg2, Argument3 arg3, Argument4 arg4, Argument5 arg5, Argument6 arg6, Argument7 arg7, Argument8 arg8, Argument9 arg9) |
| void | NotifyTerminate () |
| void | RemoteCreateWriter (SimpleQueueAttr attr) |
| void | RemoteCreateReader (SimpleQueueAttr attr) |
| void | RemoteCreateQueue (SimpleQueueAttr attr) |
| void | RemoteCreateNode (NodeAttr attr) |
| bool | UseD4R () |
| Whether or not D4R should be used. More... | |
| bool | UseD4R (bool u) |
| bool | GrowQueueMaxThreshold () |
| Whether the queue should grow when a threshold larger than the current max threshold is requested. More... | |
| bool | GrowQueueMaxThreshold (bool grow) |
| bool | SwallowBrokenQueueExceptions () |
| Whether the node should by default swallow the broken queue exceptions or let them propigate as an error. More... | |
| bool | SwallowBrokenQueueExceptions (bool sbqe) |
Private Types | |
| enum | KernelStatus_t { INITIALIZED, RUNNING, TERMINATE, DONE } |
| typedef std::map< Key_t, shared_ptr< PseudoNode > > | NodeMap |
| typedef std::vector < shared_ptr< PseudoNode > > | NodeList |
Private Member Functions | |
| Kernel (const Kernel &) | |
| Kernel & | operator= (const Kernel &) |
| void | CreateExternalEndpoint (const std::string &name, bool iswriter) |
| void | CreateReaderEndpoint (const SimpleQueueAttr &attr) |
| void | CreateWriterEndpoint (const SimpleQueueAttr &attr) |
| void | CreateLocalQueue (const SimpleQueueAttr &attr) |
| void | InternalCreateNode (NodeAttr &nodeattr) |
| void | ClearGarbage () |
| void * | EntryPoint () |
| void | SendWakeup () |
| void | LogState () |
Private Attributes | |
| Sync::StatusHandler < KernelStatus_t > | status |
| auto_ptr< Pthread > | thread |
| const std::string | kernelname |
| Key_t | kernelkey |
| Logger | logger |
| shared_ptr< Context > | context |
| auto_ptr< ConnectionServer > | server |
| auto_ptr< RemoteQueueHolder > | remotequeueholder |
| bool | useremote |
| NodeLoader | nodeloader |
| Sync::ReentrantLock | nodelock |
| Sync::ReentrantCondition | nodecond |
| bool | nodecond_signal |
| NodeMap | nodemap |
| Sync::ReentrantLock | garbagelock |
| NodeList | garbagenodes |
| Sync::ReentrantLock | datalock |
| bool | useD4R |
| bool | swallowbrokenqueue |
| bool | growmaxthresh |
The Kernel declaration.
The purpose of the kernel object is to keep track of all the queues and nodes on a particular kernel, ensure that they are instantiated and destroyed correctly and to provide a unified interface to the user of the process network.
|
private |
|
private |
|
private |
| Enumerator | |
|---|---|
| INITIALIZED | |
| RUNNING | |
| TERMINATE | |
| DONE | |
| CPN::Kernel::Kernel | ( | const KernelAttr & | kattr | ) |
Construct a new kernel object with the given attributes. The Kernel starts processing immediately.
Definition at line 53 of file Kernel.cc.
References Sync::StatusHandler< Status_t >::CompareAndWait(), context, SocketAddress::CreateIP(), CreatePthreadFunctional(), EntryPoint(), FUNCBEGIN, SocketAddress::GetHostName(), CPN::KernelAttr::GetHostName(), CPN::KernelAttr::GetNodeLists(), CPN::KernelAttr::GetNodeSearchPaths(), SocketAddress::GetServName(), CPN::KernelAttr::GetServName(), CPN::KernelAttr::GetSharedLibs(), Logger::Info(), INITIALIZED, kernelkey, kernelname, CPN::NodeLoader::LoadNodeList(), CPN::NodeLoader::LoadSharedLib(), CPN::Context::Local(), logger, Logger::LogLevel(), Logger::Name(), nodeloader, Logger::Output(), remotequeueholder, CPN::NodeLoader::SearchDirectory(), server, status, thread, and useremote.
Here is the call graph for this function:| CPN::Kernel::~Kernel | ( | ) |
|
private |
|
inlinevirtual |
Calculate the new queue size when a queue needs to grow.
Implements CPN::KernelBase.
Definition at line 317 of file Kernel.h.
|
virtual |
Convenience method that checks IsTerminated and if so throws a ShutdownException.
| ShutdownException |
Implements CPN::KernelBase.
Definition at line 128 of file Kernel.cc.
References context.
|
private |
Definition at line 516 of file Kernel.cc.
References FUNCBEGIN, garbagelock, and garbagenodes.
Referenced by EntryPoint().
Here is the caller graph for this function:
|
private |
Definition at line 186 of file Kernel.cc.
References context, kernelkey, nodelock, nodemap, and AutoLock< Lockable >::Unlock().
Referenced by CreateExternalReader(), and CreateExternalWriter().
Here is the call graph for this function:
Here is the caller graph for this function:| void CPN::Kernel::CreateExternalReader | ( | const std::string & | name | ) |
Create an external reader.
A external reader is a handle for applications to use outside of the network to input and output data
Note that an external reader can only be used on the kernel it is created on.
Implementation detail: External endpoints create a node internally with the same name. This means that they can be waited on with WaitForNodeStart and WaitForNode. Also, WaitForAllNodes will not return until all external endpoints have been destroyed. Additionally, external endpoint names must be unique across the network and cannot share the same name as any node.
| name | the name of the reader |
Definition at line 178 of file Kernel.cc.
References CreateExternalEndpoint().
Here is the call graph for this function:| void CPN::Kernel::CreateExternalWriter | ( | const std::string & | name | ) |
Dual of CreateExternalReader
Definition at line 182 of file Kernel.cc.
References CreateExternalEndpoint().
Here is the call graph for this function:| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func | ||
| ) |
Instantiating a function node.
The idea of a function node is a simple function with minimal state. A node is created and then the function is called with the given parameters.
This list of prototypes was generated by FunctionNode.py
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1 | ||
| ) |
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1, | ||
| Argument2 | arg2 | ||
| ) |
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1, | ||
| Argument2 | arg2, | ||
| Argument3 | arg3 | ||
| ) |
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1, | ||
| Argument2 | arg2, | ||
| Argument3 | arg3, | ||
| Argument4 | arg4 | ||
| ) |
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1, | ||
| Argument2 | arg2, | ||
| Argument3 | arg3, | ||
| Argument4 | arg4, | ||
| Argument5 | arg5 | ||
| ) |
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1, | ||
| Argument2 | arg2, | ||
| Argument3 | arg3, | ||
| Argument4 | arg4, | ||
| Argument5 | arg5, | ||
| Argument6 | arg6 | ||
| ) |
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1, | ||
| Argument2 | arg2, | ||
| Argument3 | arg3, | ||
| Argument4 | arg4, | ||
| Argument5 | arg5, | ||
| Argument6 | arg6, | ||
| Argument7 | arg7 | ||
| ) |
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1, | ||
| Argument2 | arg2, | ||
| Argument3 | arg3, | ||
| Argument4 | arg4, | ||
| Argument5 | arg5, | ||
| Argument6 | arg6, | ||
| Argument7 | arg7, | ||
| Argument8 | arg8 | ||
| ) |
| Key_t CPN::Kernel::CreateFunctionNode | ( | const std::string & | nodename, |
| Function | func, | ||
| Argument1 | arg1, | ||
| Argument2 | arg2, | ||
| Argument3 | arg3, | ||
| Argument4 | arg4, | ||
| Argument5 | arg5, | ||
| Argument6 | arg6, | ||
| Argument7 | arg7, | ||
| Argument8 | arg8, | ||
| Argument9 | arg9 | ||
| ) |
|
private |
Definition at line 457 of file Kernel.cc.
References CPN::SimpleQueueAttr::GetHint(), CPN::SimpleQueueAttr::GetReaderNodeKey(), CPN::SimpleQueueAttr::GetWriterNodeKey(), nodelock, nodemap, CPN::ParseQueueHintForMBS(), and CPN::QUEUEHINT_DEFAULT.
Referenced by CreateQueue(), and RemoteCreateQueue().
Here is the call graph for this function:
Here is the caller graph for this function:Create a new node.
| attr | The NodeAttr that describes the new node to create. |
| KernelShutdownException | if Wait completed or Terminate has been called. |
Definition at line 139 of file Kernel.cc.
References context, FUNCBEGIN, CPN::NodeAttr::GetKernel(), CPN::NodeAttr::GetKernelKey(), CPN::NodeAttr::GetName(), InternalCreateNode(), kernelkey, CPN::NodeAttr::SetKernelKey(), and CPN::NodeAttr::SetKey().
Referenced by CPN::VariantCPNLoader::LoadNode().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
| void CPN::Kernel::CreateQueue | ( | const QueueAttr & | attr | ) |
Create a new queue.
Note that the nodes for the queue must already exist.
| attr | the attribute to use to create the queu |
Definition at line 251 of file Kernel.cc.
References ASSERT, context, CreateLocalQueue(), CreateReaderEndpoint(), CreateWriterEndpoint(), FUNCBEGIN, CPN::QueueAttr::GetName(), CPN::SimpleQueueAttr::GetReaderKey(), CPN::QueueAttr::GetReaderNode(), CPN::SimpleQueueAttr::GetReaderNodeKey(), CPN::QueueAttr::GetReaderPort(), CPN::SimpleQueueAttr::GetWriterKey(), CPN::QueueAttr::GetWriterNode(), CPN::SimpleQueueAttr::GetWriterNodeKey(), CPN::QueueAttr::GetWriterPort(), kernelkey, CPN::SimpleQueueAttr::SetReaderKey(), CPN::SimpleQueueAttr::SetReaderNodeKey(), CPN::SimpleQueueAttr::SetWriterKey(), CPN::SimpleQueueAttr::SetWriterNodeKey(), and useremote.
Referenced by CPN::VariantCPNLoader::LoadQueue().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 363 of file Kernel.cc.
References ASSERT, CPN::SimpleQueueAttr::GetHint(), CPN::SimpleQueueAttr::GetReaderNodeKey(), nodelock, nodemap, CPN::ParseQueueHintForMBS(), CPN::QUEUEHINT_DEFAULT, CPN::QUEUEHINT_RDMA, CPN::RemoteQueue::READ, remotequeueholder, server, AutoLock< Lockable >::Unlock(), and useremote.
Referenced by CreateQueue(), and RemoteCreateReader().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 410 of file Kernel.cc.
References ASSERT, CPN::SimpleQueueAttr::GetHint(), CPN::SimpleQueueAttr::GetWriterNodeKey(), nodelock, nodemap, CPN::ParseQueueHintForMBS(), CPN::QUEUEHINT_DEFAULT, CPN::QUEUEHINT_RDMA, remotequeueholder, server, AutoLock< Lockable >::Unlock(), useremote, and CPN::RemoteQueue::WRITE.
Referenced by CreateQueue(), and RemoteCreateWriter().
Here is the call graph for this function:
Here is the caller graph for this function:| void CPN::Kernel::DestroyExternalEndpoint | ( | const std::string & | name | ) |
Clean up the external endpoint. Anybody waiting on it will then return. Note that calling WaitForAllNodes will block until all external endpoints have died or Terminate is called.
Definition at line 226 of file Kernel.cc.
References context, nodelock, nodemap, NodeTerminated(), and AutoLock< Lockable >::Unlock().
Here is the call graph for this function:
|
private |
Definition at line 534 of file Kernel.cc.
References ClearGarbage(), Sync::StatusHandler< Status_t >::CompareAndPost(), context, DONE, FUNCBEGIN, FUNCEND, Sync::StatusHandler< Status_t >::Get(), INITIALIZED, kernelkey, AutoLock< Lockable >::Lock(), logger, nodecond, nodecond_signal, nodelock, nodemap, Sync::StatusHandler< Status_t >::Post(), remotequeueholder, RUNNING, server, status, AutoLock< Lockable >::Unlock(), useremote, Sync::ReentrantCondition::Wait(), and Logger::Warn().
Referenced by Kernel().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinevirtual |
Implements CPN::KernelBase.
Definition at line 227 of file Kernel.h.
Referenced by CPN::NodeBase::EntryPoint().
Here is the caller graph for this function:| shared_ptr< QueueReader > CPN::Kernel::GetExternalIQueue | ( | const std::string & | name | ) |
Get a IQueue for the given external reader.
| name | the name of the reader |
Definition at line 211 of file Kernel.cc.
References context, nodelock, nodemap, and AutoLock< Lockable >::Unlock().
Here is the call graph for this function:| shared_ptr< QueueWriter > CPN::Kernel::GetExternalOQueue | ( | const std::string & | name | ) |
Get an OQueue for the given external writer.
| name | the name of the writer |
Definition at line 196 of file Kernel.cc.
References context, nodelock, nodemap, and AutoLock< Lockable >::Unlock().
Here is the call graph for this function:
|
inline |
|
inline |
|
inline |
|
inline |
Return a pointer to the node factory that produces the given node type. May load a shared library to find the node factory.
If there is no node factory available already, attempt to find a function named "cpninitnodetype" and call it to get the factory. If there is no function named this, then quiery the library loader for a library with the name nodetype then try again. If all this fails then throw a runtime_error exception.
| nodetype | the type of the node |
Definition at line 276 of file Kernel.h.
Referenced by InternalCreateNode().
Here is the caller graph for this function:
|
virtual |
Whether the queue should grow when a threshold larger than the current max threshold is requested.
Implements CPN::KernelBase.
Definition at line 666 of file Kernel.cc.
References datalock, and growmaxthresh.
Definition at line 671 of file Kernel.cc.
References datalock, and growmaxthresh.
|
private |
Definition at line 482 of file Kernel.cc.
References ASSERT, CPN::NodeFactory::Create(), FUNCBEGIN, Sync::StatusHandler< Status_t >::Get(), CPN::NodeAttr::GetKey(), GetNodeFactory(), CPN::NodeAttr::GetTypeName(), nodelock, nodemap, RUNNING, and status.
Referenced by CreateNode(), and RemoteCreateNode().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements CPN::KernelBase.
Definition at line 124 of file Kernel.cc.
References context.
|
inline |
Load a node list into the node loader.
Definition at line 258 of file Kernel.h.
|
inline |
Attempts to load the given dynamic library and make the symbols inside available to be searched for node types. The library will be unloaded on distruction.
| libname | the library name and path |
Definition at line 254 of file Kernel.h.
|
private |
Definition at line 614 of file Kernel.cc.
References DONE, Logger::Error(), garbagenodes, Sync::StatusHandler< Status_t >::Get(), INITIALIZED, kernelkey, kernelname, logger, nodemap, RUNNING, server, status, TERMINATE, and useremote.
Here is the call graph for this function:| void CPN::Kernel::NodeTerminated | ( | Key_t | key | ) |
Called by the node in the cleanup routine. TO BE CALLED ONLY BY THE CPN INTERNALS.
Definition at line 495 of file Kernel.cc.
References ASSERT, context, DONE, FUNCBEGIN, garbagelock, garbagenodes, Sync::StatusHandler< Status_t >::Get(), logger, nodecond, nodecond_signal, nodelock, nodemap, SendWakeup(), Sync::ReentrantCondition::Signal(), status, and Logger::Warn().
Referenced by DestroyExternalEndpoint(), and CPN::NodeBase::EntryPoint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
These functions are called by the context to create things remotely. Should not be called by anyone but the context!
Reimplemented from CPN::KernelBase.
Definition at line 132 of file Kernel.cc.
References Sync::StatusHandler< Status_t >::CompareAndPost(), FUNCBEGIN, RUNNING, SendWakeup(), status, and TERMINATE.
Here is the call graph for this function:
|
inline |
A function that lets others register node factories.
| factory | the node factory |
Definition at line 281 of file Kernel.h.
|
virtual |
Reimplemented from CPN::KernelBase.
Definition at line 608 of file Kernel.cc.
References ASSERT, FUNCBEGIN, InternalCreateNode(), and useremote.
Here is the call graph for this function:
|
virtual |
Reimplemented from CPN::KernelBase.
Definition at line 603 of file Kernel.cc.
References ASSERT, CreateLocalQueue(), FUNCBEGIN, and useremote.
Here is the call graph for this function:
|
virtual |
Reimplemented from CPN::KernelBase.
Definition at line 598 of file Kernel.cc.
References ASSERT, CreateReaderEndpoint(), FUNCBEGIN, and useremote.
Here is the call graph for this function:
|
virtual |
Reimplemented from CPN::KernelBase.
Definition at line 593 of file Kernel.cc.
References ASSERT, CreateWriterEndpoint(), FUNCBEGIN, and useremote.
Here is the call graph for this function:
|
inline |
Add all node lists in the given directory
Definition at line 262 of file Kernel.h.
|
private |
Definition at line 525 of file Kernel.cc.
References nodecond, nodecond_signal, nodelock, server, Sync::ReentrantCondition::Signal(), and useremote.
Referenced by NodeTerminated(), and NotifyTerminate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Whether the node should by default swallow the broken queue exceptions or let them propigate as an error.
Implements CPN::KernelBase.
Definition at line 656 of file Kernel.cc.
References datalock, and swallowbrokenqueue.
Referenced by CPN::NodeBase::EntryPoint().
Here is the caller graph for this function:Definition at line 661 of file Kernel.cc.
References datalock, and swallowbrokenqueue.
| void CPN::Kernel::Terminate | ( | ) |
|
virtual |
Whether or not D4R should be used.
These values may be cached by queues and nodes. Setting these values after any node or queue has been created may give undeterministic behavior.
Implements CPN::KernelBase.
Definition at line 646 of file Kernel.cc.
References datalock, and useD4R.
Definition at line 651 of file Kernel.cc.
References datalock, and useD4R.
| void CPN::Kernel::Wait | ( | ) |
Waits until the main loop terminates. Will not happen until a terminate signal or Terminate is called. Use WaitForNode if you wish to wait for the nodes to be done.
Definition at line 111 of file Kernel.cc.
References Sync::StatusHandler< Status_t >::CompareAndWait(), DONE, FUNCBEGIN, FUNCEND, Sync::StatusHandler< Status_t >::Get(), and status.
Referenced by ~Kernel().
Here is the call graph for this function:
Here is the caller graph for this function:| void CPN::Kernel::WaitForAllNodes | ( | ) |
| void CPN::Kernel::WaitForNode | ( | const std::string & | nodename | ) |
Check for the existance of the given node. Returns when it detects that the given node does not exist.
| nodename | the name of the node to wait for |
| ShutdownException | if the kernel has shutdown |
Definition at line 237 of file Kernel.cc.
References context, and FUNCBEGIN.
| void CPN::Kernel::WaitForNodeStart | ( | const std::string & | nodename | ) |
|
private |
Definition at line 349 of file Kernel.h.
Referenced by CheckTerminated(), CreateExternalEndpoint(), CreateNode(), CreateQueue(), DestroyExternalEndpoint(), EntryPoint(), GetExternalIQueue(), GetExternalOQueue(), IsTerminated(), Kernel(), NodeTerminated(), Terminate(), WaitForAllNodes(), WaitForNode(), and WaitForNodeStart().
|
private |
Definition at line 366 of file Kernel.h.
Referenced by GrowQueueMaxThreshold(), SwallowBrokenQueueExceptions(), and UseD4R().
|
private |
Definition at line 363 of file Kernel.h.
Referenced by ClearGarbage(), and NodeTerminated().
|
private |
Definition at line 364 of file Kernel.h.
Referenced by ClearGarbage(), LogState(), and NodeTerminated().
|
private |
Definition at line 369 of file Kernel.h.
Referenced by GrowQueueMaxThreshold().
|
private |
Definition at line 347 of file Kernel.h.
Referenced by CreateExternalEndpoint(), CreateNode(), CreateQueue(), EntryPoint(), Kernel(), and LogState().
|
private |
Definition at line 346 of file Kernel.h.
Referenced by Kernel(), and LogState().
|
private |
Definition at line 348 of file Kernel.h.
Referenced by EntryPoint(), Kernel(), LogState(), and NodeTerminated().
|
private |
Definition at line 360 of file Kernel.h.
Referenced by EntryPoint(), NodeTerminated(), and SendWakeup().
|
private |
Definition at line 361 of file Kernel.h.
Referenced by EntryPoint(), NodeTerminated(), and SendWakeup().
|
private |
|
private |
Definition at line 359 of file Kernel.h.
Referenced by CreateExternalEndpoint(), CreateLocalQueue(), CreateReaderEndpoint(), CreateWriterEndpoint(), DestroyExternalEndpoint(), EntryPoint(), GetExternalIQueue(), GetExternalOQueue(), InternalCreateNode(), NodeTerminated(), and SendWakeup().
|
private |
Definition at line 362 of file Kernel.h.
Referenced by CreateExternalEndpoint(), CreateLocalQueue(), CreateReaderEndpoint(), CreateWriterEndpoint(), DestroyExternalEndpoint(), EntryPoint(), GetExternalIQueue(), GetExternalOQueue(), InternalCreateNode(), LogState(), and NodeTerminated().
|
private |
Definition at line 351 of file Kernel.h.
Referenced by CreateReaderEndpoint(), CreateWriterEndpoint(), EntryPoint(), and Kernel().
|
private |
Definition at line 350 of file Kernel.h.
Referenced by CreateReaderEndpoint(), CreateWriterEndpoint(), EntryPoint(), Kernel(), LogState(), and SendWakeup().
|
private |
Definition at line 341 of file Kernel.h.
Referenced by EntryPoint(), InternalCreateNode(), Kernel(), LogState(), NodeTerminated(), NotifyTerminate(), and Wait().
|
private |
Definition at line 368 of file Kernel.h.
Referenced by SwallowBrokenQueueExceptions().
|
private |
|
private |
Definition at line 352 of file Kernel.h.
Referenced by CreateQueue(), CreateReaderEndpoint(), CreateWriterEndpoint(), EntryPoint(), Kernel(), LogState(), RemoteCreateNode(), RemoteCreateQueue(), RemoteCreateReader(), RemoteCreateWriter(), and SendWakeup().
1.8.5