ParaView
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
vtkPVSessionCore Class Reference

#include <vtkPVSessionCore.h>

Inheritance diagram for vtkPVSessionCore:
Inheritance graph
[legend]
Collaboration diagram for vtkPVSessionCore:
Collaboration graph
[legend]

List of all members.

Public Types

enum  MessageTypes {
  PUSH_STATE = 12, PULL_STATE = 13, EXECUTE_STREAM = 14, GATHER_INFORMATION = 15,
  REGISTER_SI = 16, UNREGISTER_SI = 17
}

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void PushState (vtkSMMessage *message)
virtual void PullState (vtkSMMessage *message)
virtual const
vtkClientServerStream & 
GetLastResult ()
virtual void UnRegisterSIObject (vtkSMMessage *message)
virtual void RegisterSIObject (vtkSMMessage *message)
vtkSIObjectGetSIObject (vtkTypeUInt32 globalid)
vtkObjectGetRemoteObject (vtkTypeUInt32 globalid)
void RegisterRemoteObject (vtkTypeUInt32 globalid, vtkObject *obj)
void UnRegisterRemoteObject (vtkTypeUInt32 globalid)
int GetNumberOfProcesses ()
virtual vtkTypeUInt32 GetNextGlobalUniqueIdentifier ()
virtual vtkTypeUInt32 GetNextChunkGlobalUniqueIdentifier (vtkTypeUInt32 chunkSize)
void PushStateSatelliteCallback ()
void ExecuteStreamSatelliteCallback ()
void GatherInformationStatelliteCallback ()
void RegisterSIObjectSatelliteCallback ()
void UnRegisterSIObjectSatelliteCallback ()
virtual void GetAllRemoteObjects (vtkCollection *collection)
void GarbageCollectSIObject (int *clientIds, int nbClients)
virtual
vtkClientServerInterpreter * 
GetInterpreter ()
virtual
vtkSIProxyDefinitionManager
GetProxyDefinitionManager ()
virtual void ExecuteStream (vtkTypeUInt32 location, const vtkClientServerStream &stream, bool ignore_errors=false)
virtual bool GatherInformation (vtkTypeUInt32 location, vtkPVInformation *information, vtkTypeUInt32 globalid)
void SetMPIMToNSocketConnection (vtkMPIMToNSocketConnection *)
virtual
vtkMPIMToNSocketConnection
GetMPIMToNSocketConnection ()

Static Public Member Functions

static vtkPVSessionCoreNew ()
static int IsTypeOf (const char *type)
static vtkPVSessionCoreSafeDownCast (vtkObject *o)

Protected Types

enum  { ROOT_SATELLITE_RMI_TAG = 887822, ROOT_SATELLITE_INFO_TAG = 887823 }

Protected Member Functions

 vtkPVSessionCore ()
 ~vtkPVSessionCore ()
virtual void PushStateInternal (vtkSMMessage *)
bool CollectInformation (vtkPVInformation *)
virtual void RegisterSIObjectInternal (vtkSMMessage *message)
virtual void UnRegisterSIObjectInternal (vtkSMMessage *message)
void OnInterpreterError (vtkObject *, unsigned long, void *calldata)
virtual void ExecuteStreamInternal (const vtkClientServerStream &stream, bool ignore_errors)
bool GatherInformationInternal (vtkPVInformation *information, vtkTypeUInt32 globalid)

Protected Attributes

vtkSIProxyDefinitionManagerProxyDefinitionManager
vtkWeakPointer
< vtkMultiProcessController
ParallelController
vtkClientServerInterpreter * Interpreter
vtkMPIMToNSocketConnectionMPIMToNSocketConnection

Detailed Description

vtkPVSessionCore is used by vtkSMSession. vtkPVSessionCore handle the communication to MPI satellites and ServerImplementation code instanciation and execution. On the other hand, the vtkSMSession dispatch the request to the right process and therefore to the right vtkPVSessionCore instance.

Definition at line 40 of file vtkPVSessionCore.h.


Member Enumeration Documentation

Enumerator:
PUSH_STATE 
PULL_STATE 
EXECUTE_STREAM 
GATHER_INFORMATION 
REGISTER_SI 
UNREGISTER_SI 

Definition at line 137 of file vtkPVSessionCore.h.

anonymous enum [protected]
Enumerator:
ROOT_SATELLITE_RMI_TAG 
ROOT_SATELLITE_INFO_TAG 

Definition at line 198 of file vtkPVSessionCore.h.


Constructor & Destructor Documentation

vtkPVSessionCore::vtkPVSessionCore ( ) [protected]
vtkPVSessionCore::~vtkPVSessionCore ( ) [protected]

Member Function Documentation

static vtkPVSessionCore* vtkPVSessionCore::New ( ) [static]

Reimplemented from vtkObject.

virtual const char* vtkPVSessionCore::GetClassName ( ) [virtual]

Reimplemented from vtkObject.

static int vtkPVSessionCore::IsTypeOf ( const char *  type) [static]

Reimplemented from vtkObject.

virtual int vtkPVSessionCore::IsA ( const char *  type) [virtual]

Reimplemented from vtkObject.

static vtkPVSessionCore* vtkPVSessionCore::SafeDownCast ( vtkObject o) [static]

Reimplemented from vtkObject.

void vtkPVSessionCore::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Reimplemented from vtkObject.

virtual vtkClientServerInterpreter* vtkPVSessionCore::GetInterpreter ( ) [virtual]

Provides access to the interpreter.

virtual vtkSIProxyDefinitionManager* vtkPVSessionCore::GetProxyDefinitionManager ( ) [virtual]

Provides access to the proxy definition manager.

virtual void vtkPVSessionCore::PushState ( vtkSMMessage message) [virtual]

Push the state message. This might forward the message to the MPI statellites if needed.

virtual void vtkPVSessionCore::PullState ( vtkSMMessage message) [virtual]

Pull the state message from the local SI object instances.

virtual void vtkPVSessionCore::ExecuteStream ( vtkTypeUInt32  location,
const vtkClientServerStream &  stream,
bool  ignore_errors = false 
) [virtual]

Execute a command on the given processes. Use GetLastResult() to obtain the last result after the command stream is evaluated. Once can set ignore_errors to true, to ignore any interpreting errors.

virtual const vtkClientServerStream& vtkPVSessionCore::GetLastResult ( ) [virtual]

Returns the response of the ExecuteStream() call from the location. Note if location refers to multiple processes, then the reply is only fetched from the "closest" process.

virtual void vtkPVSessionCore::UnRegisterSIObject ( vtkSMMessage message) [virtual]

Notify that the given SIObject is not used anymore . This does not necessary delete the SIObject specially if this one is used by other local SIObject. It only decrease its reference count.

virtual void vtkPVSessionCore::RegisterSIObject ( vtkSMMessage message) [virtual]

Notify that the given SIObject is used. It only increase its reference count.

vtkSIObject* vtkPVSessionCore::GetSIObject ( vtkTypeUInt32  globalid)

Returns a vtkSIObject or subclass given its global id, if any otherwise return NULL;

vtkObject* vtkPVSessionCore::GetRemoteObject ( vtkTypeUInt32  globalid)

Return a vtkObject given its global id if any otherwise return NULL;

void vtkPVSessionCore::RegisterRemoteObject ( vtkTypeUInt32  globalid,
vtkObject obj 
)

Register a remote object

void vtkPVSessionCore::UnRegisterRemoteObject ( vtkTypeUInt32  globalid)

Unregister a remote object

virtual bool vtkPVSessionCore::GatherInformation ( vtkTypeUInt32  location,
vtkPVInformation information,
vtkTypeUInt32  globalid 
) [virtual]

Gather information about an object referred by the globalid. location identifies the processes to gather the information from.

int vtkPVSessionCore::GetNumberOfProcesses ( )

Returns the number of processes. This simply calls the GetNumberOfProcesses() on this->ParallelController

void vtkPVSessionCore::SetMPIMToNSocketConnection ( vtkMPIMToNSocketConnection )

Get/Set the socket connection used to communicate betweeen data=server and render-server processes. This is valid only on data-server and render-server processes.

virtual vtkMPIMToNSocketConnection* vtkPVSessionCore::GetMPIMToNSocketConnection ( ) [virtual]

Get/Set the socket connection used to communicate betweeen data=server and render-server processes. This is valid only on data-server and render-server processes.

virtual vtkTypeUInt32 vtkPVSessionCore::GetNextGlobalUniqueIdentifier ( ) [virtual]

Provides the next available identifier. This implementation works locally. without any code distribution. To support the distributed architecture the vtkSMSessionClient overide those method to call them on the DATA_SERVER vtkPVSessionBase instance.

virtual vtkTypeUInt32 vtkPVSessionCore::GetNextChunkGlobalUniqueIdentifier ( vtkTypeUInt32  chunkSize) [virtual]

Return the first Id of the requested chunk. 1 = ReverveNextIdChunk(10); | Reserved ids [1,2,3,4,5,6,7,8,9,10] 11 = ReverveNextIdChunk(10);| Reserved ids [11,12,13,14,15,16,17,18,19,20] b = a + 10;

void vtkPVSessionCore::PushStateSatelliteCallback ( )
void vtkPVSessionCore::ExecuteStreamSatelliteCallback ( )
void vtkPVSessionCore::GatherInformationStatelliteCallback ( )
void vtkPVSessionCore::RegisterSIObjectSatelliteCallback ( )
void vtkPVSessionCore::UnRegisterSIObjectSatelliteCallback ( )
virtual void vtkPVSessionCore::GetAllRemoteObjects ( vtkCollection collection) [virtual]

Allow the user to fill a vtkCollection with all RemoteObjects This is usefull when you want to hold a reference to them to prevent any deletion across several method call.

void vtkPVSessionCore::GarbageCollectSIObject ( int clientIds,
int  nbClients 
)

Delete SIObject that are held by clients that disapeared from the given list.

virtual void vtkPVSessionCore::PushStateInternal ( vtkSMMessage ) [protected, virtual]

This will create a vtkSIObject and/or execute some update on the vtkObject that it own.

virtual void vtkPVSessionCore::ExecuteStreamInternal ( const vtkClientServerStream &  stream,
bool  ignore_errors 
) [protected, virtual]

This will execute localy the given vtkClientServerStream either by calling method on the vtkSIObject or its internal vtkObject.

bool vtkPVSessionCore::GatherInformationInternal ( vtkPVInformation information,
vtkTypeUInt32  globalid 
) [protected]

This will gather informations on the local vtkObjects through the local vtkSIObjects.

bool vtkPVSessionCore::CollectInformation ( vtkPVInformation ) [protected]

Gather informations across MPI satellites.

virtual void vtkPVSessionCore::RegisterSIObjectInternal ( vtkSMMessage message) [protected, virtual]

Increment reference count of a local vtkSIObject.

virtual void vtkPVSessionCore::UnRegisterSIObjectInternal ( vtkSMMessage message) [protected, virtual]

Decrement reference count of a local vtkSIObject. This might not result in an actual deletion of the object if this one is used by another SIObject.

void vtkPVSessionCore::OnInterpreterError ( vtkObject ,
unsigned  long,
void *  calldata 
) [protected]

Callback for reporting interpreter errors.


Member Data Documentation

Definition at line 204 of file vtkPVSessionCore.h.

Definition at line 205 of file vtkPVSessionCore.h.

vtkClientServerInterpreter* vtkPVSessionCore::Interpreter [protected]

Definition at line 206 of file vtkPVSessionCore.h.

Definition at line 207 of file vtkPVSessionCore.h.


The documentation for this class was generated from the following file: