28#ifndef vtkSocketCommunicator_h 
   29#define vtkSocketCommunicator_h 
   33#include "vtkParallelCoreModule.h"  
   37#ifdef VTK_WORDS_BIGENDIAN 
   38#define vtkSwap4 vtkByteSwap::Swap4LE 
   39#define vtkSwap4Range vtkByteSwap::Swap4LERange 
   40#define vtkSwap8 vtkByteSwap::Swap8LE 
   41#define vtkSwap8Range vtkByteSwap::Swap8LERange 
   43#define vtkSwap4 vtkByteSwap::Swap4BE 
   44#define vtkSwap4Range vtkByteSwap::Swap4BERange 
   45#define vtkSwap8 vtkByteSwap::Swap8BE 
   46#define vtkSwap8Range vtkByteSwap::Swap8BERange 
   49VTK_ABI_NAMESPACE_BEGIN
 
   77  virtual int ConnectTo(
const char* hostName, 
int port);
 
   83  vtkGetMacro(SwapBytesInReceivedData, 
int);
 
  104    const void* data, 
vtkIdType length, 
int type, 
int remoteHandle, 
int tag) 
override;
 
  122    int destProcessId) 
override;
 
  126    int srcProcessId) 
override;
 
  130    const void* sendBuffer, 
void* recvBuffer, 
vtkIdType length, 
int type) 
override;
 
  134    int operation, 
int destProcessId) 
override;
 
  136    Operation* operation, 
int destProcessId) 
override;
 
  138    const void* sendBuffer, 
void* recvBuffer, 
vtkIdType length, 
int type, 
int operation) 
override;
 
  178  vtkSetMacro(ReportErrors, 
int);
 
  179  vtkGetMacro(ReportErrors, 
int);
 
  215  vtkGetMacro(IsServer, 
int);
 
  256  int SendTagged(
const void* data, 
int wordSize, 
int numWords, 
int tag, 
const char* logName);
 
  257  int ReceiveTagged(
void* data, 
int wordSize, 
int numWords, 
int tag, 
const char* logName);
 
  261    void* data, 
int wordSize, 
int numWords, 
int tag, 
const char* logName);
 
  270    const char* name, 
const void* data, 
int wordSize, 
int numWords, 
int tag, 
const char* logName);
 
  278  int SelectSocket(
int socket, 
unsigned long msec);
 
  291  int TagMessageLength;
 
  294  class vtkMessageBuffer;
 
  295  vtkMessageBuffer* ReceivedMessageBuffer;
 
Encapsulates a client socket.
 
A custom operation to use in a reduce command.
 
Used to send/receive messages in a multiprocess environment.
 
a simple class to control print indentation
 
Encapsulate a socket that accepts connections.
 
Process communication using Sockets.
 
int ReceiveVoidArray(void *data, vtkIdType length, int type, int remoteHandle, int tag) override
Performs the actual communication.
 
int ClientSideHandshake()
Performs ClientSide handshake.
 
int BroadcastVoidArray(void *data, vtkIdType length, int type, int srcProcessId) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
int Handshake()
Performs handshake.
 
vtkTypeBool PerformHandshake
 
int GatherVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int destProcessId) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
virtual int LogToFile(const char *name, int append)
Log messages to the given file.
 
virtual int ConnectTo(const char *hostName, int port)
Open a connection to host.
 
int ServerSideHandshake()
Performs ServerSide handshake.
 
void Barrier() override
This class foolishly breaks the conventions of the superclass, so this overload fixes the method.
 
int GetIsConnected()
Is the communicator connected?.
 
int SendVoidArray(const void *data, vtkIdType length, int type, int remoteHandle, int tag) override
Performs the actual communication.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
int GatherVVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type, int destProcessId) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
int ReceivePartialTagged(void *data, int wordSize, int numWords, int tag, const char *logName)
 
virtual void CloseConnection()
Close a connection.
 
void FixByteOrder(void *data, int wordSize, int numWords)
Fix byte order for received data.
 
int SendTagged(const void *data, int wordSize, int numWords, int tag, const char *logName)
 
void LogTagged(const char *name, const void *data, int wordSize, int numWords, int tag, const char *logName)
 
int ReceivedTaggedFromBuffer(void *data, int wordSize, int numWords, int tag, const char *logName)
 
virtual int WaitForConnection(vtkServerSocket *socket, unsigned long msec=0)
Wait for connection on a given port.
 
int ReduceVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation, int destProcessId) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
static int GetVersion()
Uniquely identifies the version of this class.
 
virtual int WaitForConnection(int port)
Wait for connection on a given port.
 
void SetNumberOfProcesses(int num) override
Set the number of processes you will be using.
 
virtual ostream * GetLogStream()
Get/Set the output stream to which communications should be logged.
 
int ScatterVVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int type, int srcProcessId) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
int ScatterVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int srcProcessId) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
int CheckForErrorInternal(int id)
 
int ReduceVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation, int destProcessId) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
int AllGatherVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
virtual int LogToFile(const char *name)
Log messages to the given file.
 
~vtkSocketCommunicator() override
 
static vtkSocketCommunicator * New()
 
bool HasBufferredMessages()
Returns true if there are any messages in the receive buffer.
 
int AllGatherVVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
int ReceiveTagged(void *data, int wordSize, int numWords, int tag, const char *logName)
 
void SetSocket(vtkClientSocket *)
Get/Set the actual socket used for communication.
 
virtual void SetLogStream(ostream *stream)
Get/Set the output stream to which communications should be logged.
 
int AllReduceVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
int SwapBytesInReceivedData
 
int AllReduceVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation) override
This class foolishly breaks the conventions of the superclass, so the default implementations of thes...
 
void BufferCurrentMessage()
This flag is cleared before vtkCommand::WrongTagEvent is fired when ever a message with mismatched ta...