00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _CAVERNPLUS_EPARALLEL_TCP_C
00018 #define _CAVERNPLUS_EPARALLEL_TCP_C
00019
00020 #include "CAVERNnet_parallelTcp_c.hxx"
00021
00037 class CAVERNnet_extendedParallelTcpClient_c : public CAVERNnet_parallelTcpClient_c
00038 {
00039 public:
00040 CAVERNnet_extendedParallelTcpClient_c();
00041 virtual ~CAVERNnet_extendedParallelTcpClient_c();
00042
00046 int readChar(char& value);
00047
00051 int writeChar(char value);
00052
00056 int readInt(int& value);
00057
00062 int readIntArray(int* intArray, int size);
00063
00067 int writeInt(int value);
00068
00073 int writeIntArray(int* intArray, int size);
00074
00078 int readInt32(int32& value);
00079
00084 int readInt32Array(int32* int32Array, int size);
00085
00089 int writeInt32(int32 value);
00090
00095 int writeInt32Array(int32* int32Array, int size);
00096
00100 int readInt64(int64& value);
00101
00106 int readInt64Array(int64* int64Array, int size);
00107
00111 int writeInt64(int64 value);
00112
00117 int writeInt64Array(int64* int64Array, int size);
00118
00122 int readLong(long& value);
00123
00128 int readLongArray(long* longArray, int size);
00129
00133 int writeLong(long value);
00134
00139 int writeLongArray(long* longArray, int size);
00140
00144 int readFloat(float& value);
00145
00150 int readFloatArray(float* floatArray, int size);
00151
00155 int writeFloat(float value);
00156
00161 int writeFloatArray(float* floatArray, int size);
00162
00166 int readDouble(double& value);
00167
00172 int readDoubleArray(double* doubleArray, int size);
00173
00177 int writeDouble(double value);
00178
00183 int writeDoubleArray(double* doubleArray, int size);
00184
00185 private:
00186 int int_size;
00187 int char_size;
00188 int int32_size;
00189 int int64_size;
00190 int long_size;
00191 int float_size;
00192 int double_size;
00193
00194 char* int_buffer;
00195 char* int32_buffer;
00196 char* int64_buffer;
00197 char* long_buffer;
00198 char* float_buffer;
00199 char* double_buffer;
00200 };
00201
00204 class CAVERNnet_extendedParallelTcpServer_c : public CAVERNnet_parallelTcpServer_c
00205 {
00206 public:
00211 CAVERNnet_extendedParallelTcpClient_c *checkForNewConnections();
00212 };
00213
00214 #endif
00215