|
CPN
Computational Process Networks
|
This abstract class is the remote context client. More...
#include <RemoteContextClient.h>
Inheritance diagram for CPN::RemoteContextClient:
Collaboration diagram for CPN::RemoteContextClient:Classes | |
| struct | GenericWaiter |
| struct | WaiterInfo |
Public Member Functions | |
| virtual | ~RemoteContextClient () |
| virtual int | LogLevel () const |
| virtual int | LogLevel (int level) |
| virtual void | Log (int level, const std::string &logmsg) |
| Log a message to this outputer. More... | |
| virtual CPN::Key_t | SetupKernel (const std::string &name, const std::string &hostname, const std::string &servname, CPN::KernelBase *kernel) |
| Called by the Kernel when it has successfully set it self up. This gives the Context a way to notify the Kernel of events and lets other Kernels look up the connection information for this Kernel. More... | |
| virtual CPN::Key_t | SetupKernel (const std::string &name, KernelBase *kernel) |
| Called by the kernel when it is not in remote mode. More... | |
| virtual CPN::Key_t | GetKernelKey (const std::string &kernel) |
| virtual std::string | GetKernelName (CPN::Key_t kernelkey) |
| virtual void | GetKernelConnectionInfo (CPN::Key_t kernelkey, std::string &hostname, std::string &servname) |
| obtain the connection information for the given kernel More... | |
| virtual CPN::Key_t | WaitForKernelStart (const std::string &kernel) |
| Does not return until the given kernel has started. More... | |
| virtual void | SignalKernelStart (CPN::Key_t kernelkey) |
| Signal to the context that the given kernel has started. More... | |
| virtual void | SignalKernelEnd (CPN::Key_t kernelkey) |
| Signal to the Context that the given kernel is dead. More... | |
| virtual void | SendCreateWriter (CPN::Key_t kernelkey, const CPN::SimpleQueueAttr &attr) |
| Tell a given kernel that it needs to create a queue write end. More... | |
| virtual void | SendCreateReader (CPN::Key_t kernelkey, const CPN::SimpleQueueAttr &attr) |
| Tell a given kernel that it needs to create a queue read end. More... | |
| virtual void | SendCreateQueue (CPN::Key_t kernelkey, const CPN::SimpleQueueAttr &attr) |
| Tell a given kernel that it needs to create a queue. More... | |
| virtual void | SendCreateNode (CPN::Key_t kernelkey, const CPN::NodeAttr &attr) |
| Tell a given kernel that it needs to create a node. More... | |
| virtual CPN::Key_t | CreateNodeKey (CPN::Key_t kernelkey, const std::string &nodename) |
| Tell the context to allocate a new node key and data structure for a node with nodename which is on kernelkey. More... | |
| virtual CPN::Key_t | GetNodeKey (const std::string &nodename) |
| virtual std::string | GetNodeName (CPN::Key_t nodekey) |
| virtual CPN::Key_t | GetNodeKernel (CPN::Key_t nodekey) |
| virtual void | SignalNodeStart (CPN::Key_t nodekey) |
| Called by the node startup routine to indicate that the node has started. More... | |
| virtual void | SignalNodeEnd (CPN::Key_t nodekey) |
| Called by the node cleanup routine to indicate that the node has ended. More... | |
| virtual CPN::Key_t | WaitForNodeStart (const std::string &nodename) |
| Waits until the node starts and returns the key, if the node is already started returns the key. More... | |
| virtual void | WaitForNodeEnd (const std::string &nodename) |
| Waits for the given node to signal end. More... | |
| virtual void | WaitForAllNodeEnd () |
| Convenience method which waits until there are no nodes running. If no node have started then this will return immediately. More... | |
| virtual CPN::Key_t | GetCreateReaderKey (CPN::Key_t nodekey, const std::string &portname) |
| Get the key associated with the given endpoint for the given node. Creates the information if it does not exist. More... | |
| virtual CPN::Key_t | GetReaderNode (CPN::Key_t portkey) |
| virtual CPN::Key_t | GetReaderKernel (CPN::Key_t portkey) |
| virtual std::string | GetReaderName (CPN::Key_t portkey) |
| virtual CPN::Key_t | GetCreateWriterKey (CPN::Key_t nodekey, const std::string &portname) |
| virtual CPN::Key_t | GetWriterNode (CPN::Key_t portkey) |
| virtual CPN::Key_t | GetWriterKernel (CPN::Key_t portkey) |
| virtual std::string | GetWriterName (CPN::Key_t portkey) |
| virtual void | ConnectEndpoints (CPN::Key_t writerkey, CPN::Key_t readerkey, const std::string &qname) |
| Called by the kernel when a queue is created. Note that the endpoints may have been created when the node requests them but the queue may be created long after that. More... | |
| virtual CPN::Key_t | GetReadersWriter (CPN::Key_t readerkey) |
| virtual CPN::Key_t | GetWritersReader (CPN::Key_t writerkey) |
| virtual void | Terminate () |
| Signal to the Context that the network is terminating. After this call most methods will throw a ShutdownException. More... | |
| virtual bool | IsTerminated () |
| virtual bool | RequireRemote () |
| Lets the kernel know that this context type requires remote activity. This overrides the kernel option for remote activity. Default value is false. More... | |
| void | DispatchMessage (const Variant &msg) |
| void | CheckTerminated () |
| Convenience method that checks IsTerminated and if so throws a ShutdownException. More... | |
| virtual unsigned | CalculateGrowSize (unsigned currentsize, unsigned request) |
| Calculate the new queue size when a queue needs to grow. More... | |
Static Public Member Functions | |
| static shared_ptr< Context > | Local () |
| Create a local context. More... | |
Protected Member Functions | |
| RemoteContextClient () | |
| virtual void | SendMessage (const Variant &msg)=0 |
Protected Attributes | |
| PthreadMutex | lock |
Private Types | |
| typedef shared_ptr< GenericWaiter > | GenericWaiterPtr |
| typedef std::map< unsigned, WaiterInfo * > | WaiterMap |
| typedef std::list< weak_ptr < GenericWaiter > > | WaiterList |
| typedef std::map< CPN::Key_t, CPN::KernelBase * > | KernelMap |
Private Member Functions | |
| void | SendQueueMsg (CPN::Key_t kernelkey, RCTXMT_t msgtype, const CPN::SimpleQueueAttr &attr) |
| unsigned | NewTranID () |
| void | AddWaiter (WaiterInfo *info) |
| GenericWaiterPtr | NewGenericWaiter () |
| void | InternalTerminate () |
| void | InternalCheckTerminated () |
| void * | TerminateThread () |
| Variant | RemoteCall (Variant msg) |
| CPN::Key_t | GetCreateEndpointKey (RCTXMT_t msgtype, CPN::Key_t nodekey, const std::string &portname) |
| Variant | GetEndpointInfo (RCTXMT_t msgtype, CPN::Key_t portkey) |
Private Attributes | |
| auto_ptr< Pthread > | terminateThread |
| WaiterMap | callwaiters |
| WaiterList | waiters |
| KernelMap | kernels |
| unsigned | trancounter |
| bool | shutdown |
| int | loglevel |
This abstract class is the remote context client.
An implementor only needs to override SendMessage to send the necessary messages to the RemoteContextServer and then call DispatchMessage for the replies from the server.
Definition at line 48 of file RemoteContextClient.h.
|
private |
Definition at line 139 of file RemoteContextClient.h.
|
private |
Definition at line 158 of file RemoteContextClient.h.
|
private |
Definition at line 156 of file RemoteContextClient.h.
|
private |
Definition at line 154 of file RemoteContextClient.h.
|
virtual |
Definition at line 40 of file RemoteContextClient.cc.
References terminateThread.
|
protected |
Definition at line 35 of file RemoteContextClient.cc.
|
private |
Definition at line 566 of file RemoteContextClient.cc.
References callwaiters, and CPN::RemoteContextClient::WaiterInfo::waiterid.
Referenced by RemoteCall().
Here is the caller graph for this function:
|
inlinevirtualinherited |
|
inherited |
Convenience method that checks IsTerminated and if so throws a ShutdownException.
| ShutdownException |
Definition at line 44 of file Context.cc.
References CPN::Context::IsTerminated().
Here is the call graph for this function:
|
virtual |
Called by the kernel when a queue is created. Note that the endpoints may have been created when the node requests them but the queue may be created long after that.
| writerkey | the unique key for the writer endpoint |
| readerkey | the unique key for the reader endpoint |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 481 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_CONNECT_ENDPOINTS, and SendMessage().
Here is the call graph for this function:
|
virtual |
Tell the context to allocate a new node key and data structure for a node with nodename which is on kernelkey.
| kernelkey | the id of the kernel that the node will run on |
| nodename | the name of the node |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 266 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_CREATE_NODE_KEY, and RemoteCall().
Here is the call graph for this function:| void CPN::RemoteContextClient::DispatchMessage | ( | const Variant & | msg | ) |
Handle a message from the RemoteContextServer.
| msg | the message |
Definition at line 580 of file RemoteContextClient.cc.
References ASSERT, callwaiters, InternalTerminate(), kernels, lock, CPN::MsgToNodeAttr(), CPN::MsgToQueueAttr(), CPN::RCTXMT_CREATE_NODE, CPN::RCTXMT_CREATE_QUEUE, CPN::RCTXMT_CREATE_READER, CPN::RCTXMT_CREATE_WRITER, CPN::RCTXMT_TERMINATE, CPN::KernelBase::RemoteCreateNode(), CPN::KernelBase::RemoteCreateQueue(), CPN::KernelBase::RemoteCreateReader(), CPN::KernelBase::RemoteCreateWriter(), AutoLock< Lockable >::Unlock(), and waiters.
Referenced by CPN::RemoteContext::EntryPoint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 645 of file RemoteContextClient.cc.
References InternalCheckTerminated(), and RemoteCall().
Referenced by GetCreateReaderKey(), and GetCreateWriterKey().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Get the key associated with the given endpoint for the given node. Creates the information if it does not exist.
| nodekey | the unique id for the node |
| portname | the name of the endpoint. |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 435 of file RemoteContextClient.cc.
References GetCreateEndpointKey(), lock, and CPN::RCTXMT_GET_CREATE_READER_KEY.
Here is the call graph for this function:
|
virtual |
Implements CPN::Context.
Definition at line 458 of file RemoteContextClient.cc.
References GetCreateEndpointKey(), lock, and CPN::RCTXMT_GET_CREATE_WRITER_KEY.
Here is the call graph for this function:
|
private |
Definition at line 658 of file RemoteContextClient.cc.
References ASSERT, InternalCheckTerminated(), and RemoteCall().
Referenced by GetReaderKernel(), GetReaderName(), GetReaderNode(), GetReadersWriter(), GetWriterKernel(), GetWriterName(), GetWriterNode(), and GetWritersReader().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
obtain the connection information for the given kernel
| kernelkey | the unique id for the kernel |
| hostname | (output) string to be filled with the hostname |
| servname | (output) string to be filled with the service name |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 111 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_GET_KERNEL_INFO, and RemoteCall().
Here is the call graph for this function:
|
virtual |
| kernel | the name of the kernel |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 85 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_GET_KERNEL_INFO, and RemoteCall().
Here is the call graph for this function:
|
virtual |
| kernelkey | the key to the kernel |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 98 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_GET_KERNEL_INFO, and RemoteCall().
Here is the call graph for this function:
|
virtual |
| nodekey | the unique key for the node |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 421 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_GET_NODE_INFO, and RemoteCall().
Here is the call graph for this function:
|
virtual |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 280 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_GET_NODE_INFO, and RemoteCall().
Here is the call graph for this function:
|
virtual |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 293 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_GET_NODE_INFO, and RemoteCall().
Here is the call graph for this function:
|
virtual |
| portkey | the unique id for the port |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 446 of file RemoteContextClient.cc.
References GetEndpointInfo(), lock, and CPN::RCTXMT_GET_READER_INFO.
Here is the call graph for this function:
|
virtual |
| portkey | the unique id for the port |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 452 of file RemoteContextClient.cc.
References GetEndpointInfo(), lock, and CPN::RCTXMT_GET_READER_INFO.
Here is the call graph for this function:
|
virtual |
| portkey | the unique id for the port |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 440 of file RemoteContextClient.cc.
References GetEndpointInfo(), lock, and CPN::RCTXMT_GET_READER_INFO.
Here is the call graph for this function:
|
virtual |
| readerkey | a unique reader key |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 492 of file RemoteContextClient.cc.
References GetEndpointInfo(), lock, and CPN::RCTXMT_GET_READER_INFO.
Here is the call graph for this function:
|
virtual |
Implements CPN::Context.
Definition at line 469 of file RemoteContextClient.cc.
References GetEndpointInfo(), lock, and CPN::RCTXMT_GET_WRITER_INFO.
Here is the call graph for this function:
|
virtual |
Implements CPN::Context.
Definition at line 475 of file RemoteContextClient.cc.
References GetEndpointInfo(), lock, and CPN::RCTXMT_GET_WRITER_INFO.
Here is the call graph for this function:
|
virtual |
Implements CPN::Context.
Definition at line 463 of file RemoteContextClient.cc.
References GetEndpointInfo(), lock, and CPN::RCTXMT_GET_WRITER_INFO.
Here is the call graph for this function:
|
virtual |
| writerkey | a unique writer key |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 498 of file RemoteContextClient.cc.
References GetEndpointInfo(), lock, and CPN::RCTXMT_GET_WRITER_INFO.
Here is the call graph for this function:
|
private |
Definition at line 560 of file RemoteContextClient.cc.
References shutdown.
Referenced by ConnectEndpoints(), CreateNodeKey(), GetCreateEndpointKey(), GetEndpointInfo(), GetKernelConnectionInfo(), GetKernelKey(), GetKernelName(), GetNodeKernel(), GetNodeKey(), GetNodeName(), RemoteCall(), SendCreateNode(), SendCreateQueue(), SendCreateReader(), SendCreateWriter(), SetupKernel(), SignalKernelStart(), SignalNodeStart(), WaitForKernelStart(), and WaitForNodeStart().
Here is the caller graph for this function:
|
private |
Definition at line 530 of file RemoteContextClient.cc.
References callwaiters, CreatePthreadFunctional(), shutdown, TerminateThread(), terminateThread, and waiters.
Referenced by DispatchMessage(), and Terminate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements CPN::Context.
Definition at line 551 of file RemoteContextClient.cc.
References lock, and shutdown.
|
staticinherited |
Create a local context.
Definition at line 29 of file Context.cc.
Referenced by CPN::Kernel::Kernel(), and CPN::VariantCPNLoader::LoadContext().
Here is the caller graph for this function:
|
virtual |
Log a message to this outputer.
| level | the level of this message |
| msg | the message |
Implements LoggerOutput.
Definition at line 56 of file RemoteContextClient.cc.
References lock, loglevel, CPN::RCTXMT_LOG, and SendMessage().
Here is the call graph for this function:
|
virtual |
Implements LoggerOutput.
Definition at line 46 of file RemoteContextClient.cc.
References lock, and loglevel.
| level | the new log level |
Implements LoggerOutput.
Definition at line 51 of file RemoteContextClient.cc.
References lock, and loglevel.
|
private |
Definition at line 570 of file RemoteContextClient.cc.
References waiters.
Referenced by WaitForAllNodeEnd(), WaitForKernelStart(), WaitForNodeEnd(), and WaitForNodeStart().
Here is the caller graph for this function:
|
private |
Definition at line 576 of file RemoteContextClient.cc.
References trancounter.
Referenced by RemoteCall().
Here is the caller graph for this function:
|
private |
Definition at line 668 of file RemoteContextClient.cc.
References AddWaiter(), CPN::RemoteContextClient::WaiterInfo::cond, InternalCheckTerminated(), lock, CPN::RemoteContextClient::WaiterInfo::msg, NewTranID(), SendMessage(), CPN::RemoteContextClient::WaiterInfo::signaled, PthreadCondition::Wait(), and CPN::RemoteContextClient::WaiterInfo::waiterid.
Referenced by CreateNodeKey(), GetCreateEndpointKey(), GetEndpointInfo(), GetKernelConnectionInfo(), GetKernelKey(), GetKernelName(), GetNodeKernel(), GetNodeKey(), GetNodeName(), SetupKernel(), WaitForAllNodeEnd(), WaitForKernelStart(), WaitForNodeEnd(), and WaitForNodeStart().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Lets the kernel know that this context type requires remote activity. This overrides the kernel option for remote activity. Default value is false.
Reimplemented from CPN::Context.
Definition at line 556 of file RemoteContextClient.cc.
|
virtual |
Tell a given kernel that it needs to create a node.
| kernelkey | the id of the kernel |
| attr | the node attribute |
| ShutdownException |
Implements CPN::Context.
Definition at line 193 of file RemoteContextClient.cc.
References CPN::NodeAttr::GetKernel(), CPN::NodeAttr::GetKey(), CPN::NodeAttr::GetName(), CPN::NodeAttr::GetParams(), CPN::NodeAttr::GetTypeName(), InternalCheckTerminated(), lock, CPN::RCTXMT_CREATE_NODE, and SendMessage().
Here is the call graph for this function:
|
virtual |
Tell a given kernel that it needs to create a queue.
| kernelkey | the id of the kernel |
| attr | the queue attribute |
| ShutdownException |
Implements CPN::Context.
Definition at line 187 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_CREATE_QUEUE, and SendQueueMsg().
Here is the call graph for this function:
|
virtual |
Tell a given kernel that it needs to create a queue read end.
| kernelkey | the id of the kernel |
| attr | the queue attribute |
| ShutdownException |
Implements CPN::Context.
Definition at line 181 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_CREATE_READER, and SendQueueMsg().
Here is the call graph for this function:
|
virtual |
Tell a given kernel that it needs to create a queue write end.
| kernelkey | the id of the kernel |
| attr | the queue attribute |
| ShutdownException |
Implements CPN::Context.
Definition at line 175 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_CREATE_WRITER, and SendQueueMsg().
Here is the call graph for this function:
|
protectedpure virtual |
Called by the functions to send a message to the RemoteContextServer.
| msg | the message |
Implemented in CPN::RemoteContext.
Referenced by ConnectEndpoints(), Log(), RemoteCall(), SendCreateNode(), SendQueueMsg(), SignalKernelEnd(), SignalKernelStart(), SignalNodeEnd(), SignalNodeStart(), and Terminate().
Here is the caller graph for this function:
|
private |
Definition at line 229 of file RemoteContextClient.cc.
References CPN::SimpleQueueAttr::GetAlpha(), CPN::SimpleQueueAttr::GetDatatype(), CPN::SimpleQueueAttr::GetHint(), CPN::SimpleQueueAttr::GetLength(), CPN::SimpleQueueAttr::GetMaxThreshold(), CPN::SimpleQueueAttr::GetMaxWriteThreshold(), CPN::SimpleQueueAttr::GetNumChannels(), CPN::SimpleQueueAttr::GetReaderKey(), CPN::SimpleQueueAttr::GetReaderNodeKey(), CPN::SimpleQueueAttr::GetWriterKey(), CPN::SimpleQueueAttr::GetWriterNodeKey(), and SendMessage().
Referenced by SendCreateQueue(), SendCreateReader(), and SendCreateWriter().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Called by the Kernel when it has successfully set it self up. This gives the Context a way to notify the Kernel of events and lets other Kernels look up the connection information for this Kernel.
| name | the kernel name |
| hostname | the hostname to use to connect to this kernel |
| servname | the service name the kernel is listening on |
| kernel | callback reference |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 66 of file RemoteContextClient.cc.
References InternalCheckTerminated(), kernels, lock, CPN::RCTXMT_SETUP_KERNEL, and RemoteCall().
Here is the call graph for this function:
|
inlinevirtual |
Called by the kernel when it is not in remote mode.
| name | the kernel name |
| kernel | callback reference |
Implements CPN::Context.
Definition at line 58 of file RemoteContextClient.h.
References ASSERT.
|
virtual |
Signal to the Context that the given kernel is dead.
| kernelkey | id of the kernel that died |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 126 of file RemoteContextClient.cc.
References kernels, lock, CPN::RCTXMT_SIGNAL_KERNEL_END, and SendMessage().
Here is the call graph for this function:
|
virtual |
Signal to the context that the given kernel has started.
| kernelkey | the id for the kernel |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 166 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_SIGNAL_KERNEL_START, and SendMessage().
Here is the call graph for this function:
|
virtual |
Called by the node cleanup routine to indicate that the node has ended.
| nodekey | the unique key for the node |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 315 of file RemoteContextClient.cc.
References lock, CPN::RCTXMT_SIGNAL_NODE_END, and SendMessage().
Here is the call graph for this function:
|
virtual |
Called by the node startup routine to indicate that the node has started.
| nodekey | the unique key for the node |
| ShutdownException | |
| std::invalid_argument |
Implements CPN::Context.
Definition at line 306 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, CPN::RCTXMT_SIGNAL_NODE_START, and SendMessage().
Here is the call graph for this function:
|
virtual |
Signal to the Context that the network is terminating. After this call most methods will throw a ShutdownException.
Implements CPN::Context.
Definition at line 504 of file RemoteContextClient.cc.
References InternalTerminate(), lock, CPN::RCTXMT_TERMINATE, SendMessage(), and shutdown.
Referenced by CPN::RemoteContext::EntryPoint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 514 of file RemoteContextClient.cc.
Referenced by InternalTerminate().
Here is the caller graph for this function:
|
virtual |
Convenience method which waits until there are no nodes running. If no node have started then this will return immediately.
| ShutdownException |
Implements CPN::Context.
Definition at line 391 of file RemoteContextClient.cc.
References ASSERT, lock, NewGenericWaiter(), CPN::RCTXMT_GET_NUM_NODE_LIVE, RemoteCall(), and shutdown.
Here is the call graph for this function:
|
virtual |
Does not return until the given kernel has started.
| kernel | the name of the kernel (the key may not be known yet) |
| ShutdownException |
Implements CPN::Context.
Definition at line 135 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, NewGenericWaiter(), CPN::RCTXMT_GET_KERNEL_INFO, and RemoteCall().
Here is the call graph for this function:
|
virtual |
Waits for the given node to signal end.
| nodename | the name of the node |
| ShutdownException |
Implements CPN::Context.
Definition at line 355 of file RemoteContextClient.cc.
References lock, NewGenericWaiter(), CPN::RCTXMT_GET_NODE_INFO, RemoteCall(), and shutdown.
Here is the call graph for this function:
|
virtual |
Waits until the node starts and returns the key, if the node is already started returns the key.
| nodename | the name of the node to wait for |
| ShutdownException |
Implements CPN::Context.
Definition at line 323 of file RemoteContextClient.cc.
References InternalCheckTerminated(), lock, NewGenericWaiter(), CPN::RCTXMT_GET_NODE_INFO, and RemoteCall().
Here is the call graph for this function:
|
private |
Definition at line 155 of file RemoteContextClient.h.
Referenced by AddWaiter(), DispatchMessage(), and InternalTerminate().
|
private |
Definition at line 159 of file RemoteContextClient.h.
Referenced by DispatchMessage(), SetupKernel(), SignalKernelEnd(), and TerminateThread().
|
mutableprotected |
Definition at line 116 of file RemoteContextClient.h.
Referenced by ConnectEndpoints(), CreateNodeKey(), DispatchMessage(), CPN::RemoteContext::EndWrite(), GetCreateReaderKey(), GetCreateWriterKey(), GetKernelConnectionInfo(), GetKernelKey(), GetKernelName(), GetNodeKernel(), GetNodeKey(), GetNodeName(), GetReaderKernel(), GetReaderName(), GetReaderNode(), GetReadersWriter(), GetWriterKernel(), GetWriterName(), GetWriterNode(), GetWritersReader(), CPN::RemoteContext::IsEndWrite(), IsTerminated(), Log(), LogLevel(), RemoteCall(), SendCreateNode(), SendCreateQueue(), SendCreateReader(), SendCreateWriter(), SetupKernel(), SignalKernelEnd(), SignalKernelStart(), SignalNodeEnd(), SignalNodeStart(), Terminate(), TerminateThread(), WaitForAllNodeEnd(), WaitForKernelStart(), WaitForNodeEnd(), and WaitForNodeStart().
|
private |
Definition at line 162 of file RemoteContextClient.h.
Referenced by Log(), and LogLevel().
|
private |
Definition at line 161 of file RemoteContextClient.h.
Referenced by InternalCheckTerminated(), InternalTerminate(), IsTerminated(), Terminate(), WaitForAllNodeEnd(), and WaitForNodeEnd().
|
private |
Definition at line 153 of file RemoteContextClient.h.
Referenced by InternalTerminate(), and ~RemoteContextClient().
|
private |
Definition at line 160 of file RemoteContextClient.h.
Referenced by NewTranID().
|
private |
Definition at line 157 of file RemoteContextClient.h.
Referenced by DispatchMessage(), InternalTerminate(), and NewGenericWaiter().
1.8.5