11 #include "carma/szaarrayutils/netbuf.h"
12 #include "carma/szaarrayutils/netobj.h"
14 #define NET_SEND_HANDLER(fn) void (fn)(void* arg)
16 #ifdef NET_ERROR_HANDLER
17 #undef NET_ERROR_HANDLER
20 #define NET_ERROR_HANDLER(fn) void (fn)(void* arg)
32 NET_SEND_DATA = sza::array::NetSendStr::NET_SEND_DATA,
36 NET_SEND_DONE = sza::array::NetSendStr::NET_SEND_DONE,
40 NET_SEND_CLOSED = sza::array::NetSendStr::NET_SEND_CLOSED,
44 NET_SEND_ERROR = sza::array::NetSendStr::NET_SEND_ERROR
55 NetSendStr(
int fd,
unsigned long size);
60 virtual ~NetSendStr();
71 void setBuffer(
void* buffer,
unsigned int size);
83 NetSendId send(
int fd);
99 void startPut(
int opcode);
109 void putChar(
long ndata,
unsigned char *data);
114 void putShort(
long ndata,
unsigned short *data);
119 void putLong(
long ndata,
unsigned long *data);
124 void putFloat(
long ndata,
float *data);
129 void putDouble(
long ndata,
double *data);
134 void putObj(
const NetObjTable* types,
int id,
void *obj);
139 void incNput(
long nbytes);
144 void installSendHandler(NET_SEND_HANDLER(*handler),
void* arg);
149 void installErrorHandler(NET_ERROR_HANDLER(*handler),
void* arg);
156 void privateConstructor(
int fd,
unsigned long size);
161 sza::array::NetSendStr* netStream_;
166 bool netBufAllocated_;
177 NetSendId privateSend(
int fd);
182 NetSendId privateState(sza::array::NetSendStr::NetSendId
id);
189 NET_SEND_HANDLER(*sendHandler_);
199 NET_SEND_HANDLER(*errorHandler_);
211 #endif // End #ifndef