Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
vtkTCPNetworkAccessManager Class Reference

vtkTCPNetworkAccessManager is a concrete implementation of vtkNetworkAccessManager that uses tcp/ip sockets for communication between processes. More...

#include <vtkTCPNetworkAccessManager.h>

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

Public Types

typedef vtkNetworkAccessManager Superclass
 
- Public Types inherited from vtkNetworkAccessManager
typedef vtkObject Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
vtkMultiProcessControllerNewConnection (const char *url) override
 Creates a new connection given the url. More...
 
void AbortPendingConnection () override
 Used to abort pending connection creation, if any. More...
 
int ProcessEvents (unsigned long timeout_msecs) override
 Process any network activity. More...
 
bool GetNetworkEventsAvailable () override
 Peeks to check if any activity is available. More...
 
bool GetPendingConnectionsPresent () override
 Returns true is the manager is currently waiting for any connections. More...
 
virtual void DisableFurtherConnections (int port, bool disable) override
 Enable/disable further connections for given port. More...
 
virtual bool GetWrongConnectID () override
 Returns true if the last check of connect ids was wrong. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual vtkMTimeType GetMTime ()
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void PrintRevisions (ostream &)
 

Static Public Member Functions

static vtkTCPNetworkAccessManagerNew ()
 
static int IsTypeOf (const char *type)
 
static vtkTCPNetworkAccessManagerSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkNetworkAccessManager
static int IsTypeOf (const char *type)
 
static vtkNetworkAccessManagerSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 
static vtkObjectBaseNew ()
 

Protected Types

enum  HandshakeErrors {
  HANDSHAKE_NO_ERROR = 0, HANDSHAKE_SOCKET_COMMUNICATOR_DIFFERENT, HANDSHAKE_DIFFERENT_PV_VERSIONS, HANDSHAKE_DIFFERENT_CONNECTION_IDS,
  HANDSHAKE_DIFFERENT_RENDERING_BACKENDS, HANDSHAKE_UNKNOWN_ERROR
}
 

Protected Member Functions

 vtkTCPNetworkAccessManager ()
 
 ~vtkTCPNetworkAccessManager () override
 
int ProcessEventsInternal (unsigned long timeout_msecs, bool do_processing)
 
vtkMultiProcessControllerConnectToRemote (const char *hostname, int port, const char *handshake, int timeout_in_seconds)
 Connects to remote processes. More...
 
vtkMultiProcessControllerWaitForConnection (int port, bool once, const char *handshake, bool nonblocking)
 Waits for connection from remote process. More...
 
int ParaViewHandshake (vtkMultiProcessController *controller, bool server_side, const char *handshake)
 
void PrintHandshakeError (int errorcode, bool server_side)
 
int AnalyzeHandshakeAndGetErrorCode (const char *clientHS, const char *serverHS)
 
- Protected Member Functions inherited from vtkNetworkAccessManager
 vtkNetworkAccessManager ()
 
 ~vtkNetworkAccessManager () override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

bool AbortPendingConnectionFlag
 
bool WrongConnectID
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

vtkTCPNetworkAccessManager is a concrete implementation of vtkNetworkAccessManager that uses tcp/ip sockets for communication between processes.

It supports urls that use "tcp" as their protocol specifier.

Definition at line 31 of file vtkTCPNetworkAccessManager.h.

Member Typedef Documentation

◆ Superclass

Definition at line 35 of file vtkTCPNetworkAccessManager.h.

Member Enumeration Documentation

◆ HandshakeErrors

Enumerator
HANDSHAKE_NO_ERROR 
HANDSHAKE_SOCKET_COMMUNICATOR_DIFFERENT 
HANDSHAKE_DIFFERENT_PV_VERSIONS 
HANDSHAKE_DIFFERENT_CONNECTION_IDS 
HANDSHAKE_DIFFERENT_RENDERING_BACKENDS 
HANDSHAKE_UNKNOWN_ERROR 

Definition at line 128 of file vtkTCPNetworkAccessManager.h.

Constructor & Destructor Documentation

◆ vtkTCPNetworkAccessManager()

vtkTCPNetworkAccessManager::vtkTCPNetworkAccessManager ( )
protected

◆ ~vtkTCPNetworkAccessManager()

vtkTCPNetworkAccessManager::~vtkTCPNetworkAccessManager ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkTCPNetworkAccessManager* vtkTCPNetworkAccessManager::New ( )
static

◆ GetClassName()

virtual const char* vtkTCPNetworkAccessManager::GetClassName ( )
virtual

Reimplemented from vtkNetworkAccessManager.

◆ IsTypeOf()

static int vtkTCPNetworkAccessManager::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual int vtkTCPNetworkAccessManager::IsA ( const char *  type)
virtual

Reimplemented from vtkNetworkAccessManager.

◆ SafeDownCast()

static vtkTCPNetworkAccessManager* vtkTCPNetworkAccessManager::SafeDownCast ( vtkObject o)
static

◆ PrintSelf()

void vtkTCPNetworkAccessManager::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Reimplemented from vtkNetworkAccessManager.

◆ NewConnection()

vtkMultiProcessController* vtkTCPNetworkAccessManager::NewConnection ( const char *  url)
overridevirtual

Creates a new connection given the url.

This call may block until the connection can be established. To keep user-interfaces responsive, one can listen to the vtkCommand::ProgressEvent fired periodically by this class while waiting.

vtkNetworkAccessManager can be waiting for atmost one connection at a time. Calling NewConnection() while another connection is pending will raise an error.

To abort the connection and cancel the waiting, simply call AbortPendingConnection() in the vtkCommand::ProgressEvent callback.

Returns the new connection instance on success, otherwise NULL.

URLs are of the following form: <transport>://<address>

  • tcp://<hostname>:<port>
  • tcp://localhost:<port>?listen=true& – listen for connection on port.
  • tcp://localhost:<port>?listen=true&multiple=true – listen for multiple Examples:
  • tcp://medea:12345
  • tcp://localhost:12345?listen&handshake=3.8.12 Supported parameters: handshake :- specify a message that is matched with the other side listen :- open a server-socket for a client to connect to multiple :- leave server-socket open for more than 1 client to connect (listen must be set to true) nonblocking:- When listen is true, this will result in the call returning NULL if a client connection is not available immediately. It leaves the server socket open for client to connect. timeout :- When connecting to remote i.e listen==false, specify the time (in seconds) for which this call blocks to retry attempts to connect to the host/port. If absent, default is 60s. 0 implies no retry attempts. A negative value implies an infinite number of retries.

Implements vtkNetworkAccessManager.

◆ AbortPendingConnection()

void vtkTCPNetworkAccessManager::AbortPendingConnection ( )
overridevirtual

Used to abort pending connection creation, if any.

Refer to NewConnection() for details.

Implements vtkNetworkAccessManager.

◆ ProcessEvents()

int vtkTCPNetworkAccessManager::ProcessEvents ( unsigned long  timeout_msecs)
overridevirtual

Process any network activity.

Implements vtkNetworkAccessManager.

◆ GetNetworkEventsAvailable()

bool vtkTCPNetworkAccessManager::GetNetworkEventsAvailable ( )
overridevirtual

Peeks to check if any activity is available.

When this call returns true, ProcessEvents() will always result in some activity processing if called afterword.

Implements vtkNetworkAccessManager.

◆ GetPendingConnectionsPresent()

bool vtkTCPNetworkAccessManager::GetPendingConnectionsPresent ( )
overridevirtual

Returns true is the manager is currently waiting for any connections.

Implements vtkNetworkAccessManager.

◆ DisableFurtherConnections()

virtual void vtkTCPNetworkAccessManager::DisableFurtherConnections ( int  port,
bool  disable 
)
overridevirtual

Enable/disable further connections for given port.

Implements vtkNetworkAccessManager.

◆ GetWrongConnectID()

virtual bool vtkTCPNetworkAccessManager::GetWrongConnectID ( )
overridevirtual

Returns true if the last check of connect ids was wrong.

Implements vtkNetworkAccessManager.

◆ ProcessEventsInternal()

int vtkTCPNetworkAccessManager::ProcessEventsInternal ( unsigned long  timeout_msecs,
bool  do_processing 
)
protected

◆ ConnectToRemote()

vtkMultiProcessController* vtkTCPNetworkAccessManager::ConnectToRemote ( const char *  hostname,
int  port,
const char *  handshake,
int  timeout_in_seconds 
)
protected

Connects to remote processes.

◆ WaitForConnection()

vtkMultiProcessController* vtkTCPNetworkAccessManager::WaitForConnection ( int  port,
bool  once,
const char *  handshake,
bool  nonblocking 
)
protected

Waits for connection from remote process.

◆ ParaViewHandshake()

int vtkTCPNetworkAccessManager::ParaViewHandshake ( vtkMultiProcessController controller,
bool  server_side,
const char *  handshake 
)
protected

◆ PrintHandshakeError()

void vtkTCPNetworkAccessManager::PrintHandshakeError ( int  errorcode,
bool  server_side 
)
protected

◆ AnalyzeHandshakeAndGetErrorCode()

int vtkTCPNetworkAccessManager::AnalyzeHandshakeAndGetErrorCode ( const char *  clientHS,
const char *  serverHS 
)
protected

Member Data Documentation

◆ AbortPendingConnectionFlag

bool vtkTCPNetworkAccessManager::AbortPendingConnectionFlag
protected

Definition at line 143 of file vtkTCPNetworkAccessManager.h.

◆ WrongConnectID

bool vtkTCPNetworkAccessManager::WrongConnectID
protected

Definition at line 144 of file vtkTCPNetworkAccessManager.h.


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