 |
VTK
9.1.0
|
Go to the documentation of this file.
40 #ifndef vtkSocketCommunicator_h
41 #define vtkSocketCommunicator_h
44 #include "vtkEndian.h"
45 #include "vtkParallelCoreModule.h"
49 #ifdef VTK_WORDS_BIGENDIAN
50 #define vtkSwap4 vtkByteSwap::Swap4LE
51 #define vtkSwap4Range vtkByteSwap::Swap4LERange
52 #define vtkSwap8 vtkByteSwap::Swap8LE
53 #define vtkSwap8Range vtkByteSwap::Swap8LERange
55 #define vtkSwap4 vtkByteSwap::Swap4BE
56 #define vtkSwap4Range vtkByteSwap::Swap4BERange
57 #define vtkSwap8 vtkByteSwap::Swap8BE
58 #define vtkSwap8Range vtkByteSwap::Swap8BERange
94 vtkGetMacro(SwapBytesInReceivedData,
int);
133 int destProcessId)
override;
137 int srcProcessId)
override;
145 int operation,
int destProcessId)
override;
147 Operation* operation,
int destProcessId)
override;
149 const void* sendBuffer,
void* recvBuffer,
vtkIdType length,
int type,
int operation)
override;
189 vtkSetMacro(ReportErrors,
int);
190 vtkGetMacro(ReportErrors,
int);
226 vtkGetMacro(IsServer,
int);
267 int SendTagged(
const void*
data,
int wordSize,
int numWords,
int tag,
const char* logName);
272 void*
data,
int wordSize,
int numWords,
int tag,
const char* logName);
281 const char*
name,
const void*
data,
int wordSize,
int numWords,
int tag,
const char* logName);
289 int SelectSocket(
int socket,
unsigned long msec);
302 int TagMessageLength;
305 class vtkMessageBuffer;
306 vtkMessageBuffer* ReceivedMessageBuffer;
virtual int LogToFile(const char *name)
Log messages to the given file.
static vtkSocketCommunicator * New()
vtkTypeBool PerformHandshake
Used to send/receive messages in a multiprocess environment.
Process communication using Sockets.
virtual int LogToFile(const char *name, int append)
Log messages to the given file.
A custom operation to use in a reduce command.
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 CheckForErrorInternal(int id)
void Barrier() override
This class foolishly breaks the conventions of the superclass, so this overload fixes the method.
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 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 ostream * GetLogStream()
Get/Set the output stream to which communications should be logged.
int ReceiveVoidArray(void *data, vtkIdType length, int type, int remoteHandle, int tag) override
Performs the actual communication.
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...
void SetSocket(vtkClientSocket *)
Get/Set the actual socket used for communication.
int ReceiveTagged(void *data, int wordSize, int numWords, int tag, const char *logName)
virtual int ConnectTo(const char *hostName, int port)
Open a connection to host.
int ReceivePartialTagged(void *data, int wordSize, int numWords, int tag, const char *logName)
virtual int WaitForConnection(int port)
Wait for connection on a given port.
bool HasBufferredMessages()
Returns true if there are any messages in the receive buffer.
Encapsulate a socket that accepts connections.
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...
static int GetVersion()
Uniquely identifies the version of this class.
~vtkSocketCommunicator() override
void SetNumberOfProcesses(int num) override
Set the number of processes you will be using.
int ReceivedTaggedFromBuffer(void *data, int wordSize, int numWords, int tag, const char *logName)
void FixByteOrder(void *data, int wordSize, int numWords)
Fix byte order for received data.
a simple class to control print indentation
int Handshake()
Performs handshake.
int SendTagged(const void *data, int wordSize, int numWords, int tag, const char *logName)
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 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...
virtual void SetLogStream(ostream *stream)
Get/Set the output stream to which communications should be logged.
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...
Encapsulates a client socket.
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 GetIsConnected()
Is the communicator connected?.
int SendVoidArray(const void *data, vtkIdType length, int type, int remoteHandle, int tag) override
Performs the actual communication.
int ClientSideHandshake()
Performs ClientSide handshake.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void BufferCurrentMessage()
This flag is cleared before vtkCommand::WrongTagEvent is fired when ever a message with mismatched ta...
virtual void CloseConnection()
Close a connection.
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...
int ServerSideHandshake()
Performs ServerSide handshake.
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...
void LogTagged(const char *name, const 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.