Changeset 7230 in orxonox.OLD for trunk/src/lib/network/synchronizeable.h
- Timestamp:
- Mar 21, 2006, 3:20:36 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/network/synchronizeable.h
r6959 r7230 199 199 } 200 200 #define SYNCHELP_WRITE_STRING(s,n) { SYNCHELP_WRITE_DEBUG(n); \ 201 if (s!=NULL) {\202 201 __synchelp_write_n = \ 203 Converter::stringToByteArray( s, data+__synchelp_write_i, strlen(s), maxLength-__synchelp_write_i ); \ 204 assert( __synchelp_write_n == strlen(s)+INTSIZE ); \ 205 } else {\ 206 __synchelp_write_n = \ 207 Converter::stringToByteArray( "", data+__synchelp_write_i, strlen(""), maxLength-__synchelp_write_i ); \ 208 assert( __synchelp_write_n == strlen("")+INTSIZE ); } \ 202 Converter::stringToByteArray( s, data+__synchelp_write_i, maxLength-__synchelp_write_i ); \ 203 assert( __synchelp_write_n == ((std::string)s).length()+INTSIZE ); \ 209 204 if ( __synchelp_write_n <= 0) \ 210 205 { \ … … 216 211 #define SYNCHELP_WRITE_N __synchelp_write_i 217 212 #define SYNCHELP_WRITE_FKT(f,n) { SYNCHELP_WRITE_DEBUG(n); \ 218 __synchelp_write_i += \ 213 PRINTF(0)("calling %s with %d left\n", #f, maxLength - __synchelp_write_i); \ 214 byte * spos = data+__synchelp_write_i; \ 215 if (maxLength - __synchelp_write_i < INTSIZE) \ 216 { \ 217 PRINTF(1)("Buffer is too small to store more data\n"); \ 218 return 0; \ 219 } \ 220 __synchelp_write_i += INTSIZE; \ 221 __synchelp_write_n = \ 219 222 f( data+__synchelp_write_i, maxLength-__synchelp_write_i ); \ 223 __synchelp_write_i += __synchelp_write_n; \ 224 Converter::intToByteArray( __synchelp_write_n, spos, INTSIZE ); \ 220 225 } 221 226 … … 244 249 __synchelp_read_i += __synchelp_read_n; \ 245 250 } 246 #define SYNCHELP_READ_STRING(s, l,n) {SYNCHELP_READ_DEBUG(n); \247 __synchelp_read_n = Converter::byteArrayToString( data+__synchelp_read_i, s, l ); \248 assert( __synchelp_read_n == s trlen(s)+INTSIZE ) ;\251 #define SYNCHELP_READ_STRING(s,n) {SYNCHELP_READ_DEBUG(n); \ 252 __synchelp_read_n = Converter::byteArrayToString( data+__synchelp_read_i, s, length-__synchelp_read_i ); \ 253 assert( __synchelp_read_n == s.length()+INTSIZE ) ;\ 249 254 if ( __synchelp_read_n <0 ) \ 250 255 { \ … … 254 259 __synchelp_read_i += __synchelp_read_n; \ 255 260 } 261 #if 0 //not needed any more 256 262 #define SYNCHELP_READ_STRINGM(s,n) { SYNCHELP_READ_DEBUG(n); \ 257 263 __synchelp_read_n = Converter::byteArrayToStringM( data+__synchelp_read_i, s ); \ … … 264 270 __synchelp_read_i += __synchelp_read_n; \ 265 271 } 272 #endif 266 273 #define SYNCHELP_READ_BYTE(b,n) { SYNCHELP_READ_DEBUG(n); \ 267 274 if ( length-__synchelp_read_i < 1 ) \ … … 274 281 } 275 282 #define SYNCHELP_READ_FKT(f,n) { SYNCHELP_READ_DEBUG(n); \ 283 int s; \ 284 if ( length-__synchelp_read_i < INTSIZE ) \ 285 { \ 286 PRINTF(1)("There is not enough data to read an int\n"); \ 287 return 0; \ 288 } \ 289 __synchelp_read_n = Converter::byteArrayToInt( data+__synchelp_read_i, &s ); \ 290 assert( __synchelp_read_n == INTSIZE ); \ 291 __synchelp_read_i += __synchelp_read_n; \ 276 292 __synchelp_read_i += \ 277 f( data+__synchelp_read_i, length-__synchelp_read_i, sender); \293 f( data+__synchelp_read_i, s, sender); \ 278 294 } 279 295 #define SYNCHELP_READ_REMAINING() ( length-__synchelp_read_i )
Note: See TracChangeset
for help on using the changeset viewer.