ParaView
Public Types | Public Member Functions | Static Public Member Functions | 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)
 
virtual vtkMultiProcessController * NewConnection (const char *url)
 Creates a new connection given the url. More...
 
virtual void AbortPendingConnection ()
 Used to abort pending connection creation, if any. More...
 
virtual int ProcessEvents (unsigned long timeout_msecs)
 Process any network activity. More...
 
virtual bool GetNetworkEventsAvailable ()
 Peeks to check if any activity is available. More...
 
virtual bool GetPendingConnectionsPresent ()
 Returns true is the manager is currently waiting for any connections. More...
 
- Public Member Functions inherited from vtkNetworkAccessManager
void PrintSelf (ostream &os, vtkIndent indent)
 

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)
 

Protected Member Functions

 vtkTCPNetworkAccessManager ()
 
 ~vtkTCPNetworkAccessManager ()
 
int ProcessEventsInternal (unsigned long timeout_msecs, bool do_processing)
 
vtkMultiProcessController * ConnectToRemote (const char *hostname, int port, const char *handshake, int timeout_in_seconds)
 Connects to remote processes. More...
 
vtkMultiProcessController * WaitForConnection (int port, bool once, const char *handshake, bool nonblocking)
 Waits for connection from remote process. More...
 
bool ParaViewHandshake (vtkMultiProcessController *controller, bool server_side, const char *handshake)
 
- Protected Member Functions inherited from vtkNetworkAccessManager
 vtkNetworkAccessManager ()
 
 ~vtkNetworkAccessManager ()
 

Protected Attributes

bool AbortPendingConnectionFlag
 

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.

Constructor & Destructor Documentation

§ vtkTCPNetworkAccessManager()

vtkTCPNetworkAccessManager::vtkTCPNetworkAccessManager ( )
protected

§ ~vtkTCPNetworkAccessManager()

vtkTCPNetworkAccessManager::~vtkTCPNetworkAccessManager ( )
protected

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 
)

§ NewConnection()

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

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 or negative implies no retry attempts.

Implements vtkNetworkAccessManager.

§ AbortPendingConnection()

virtual void vtkTCPNetworkAccessManager::AbortPendingConnection ( )
virtual

Used to abort pending connection creation, if any.

Refer to NewConnection() for details.

Implements vtkNetworkAccessManager.

§ ProcessEvents()

virtual int vtkTCPNetworkAccessManager::ProcessEvents ( unsigned long  timeout_msecs)
virtual

Process any network activity.

Implements vtkNetworkAccessManager.

§ GetNetworkEventsAvailable()

virtual bool vtkTCPNetworkAccessManager::GetNetworkEventsAvailable ( )
virtual

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()

virtual bool vtkTCPNetworkAccessManager::GetPendingConnectionsPresent ( )
virtual

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

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()

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

Member Data Documentation

§ AbortPendingConnectionFlag

bool vtkTCPNetworkAccessManager::AbortPendingConnectionFlag
protected

Definition at line 121 of file vtkTCPNetworkAccessManager.h.


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