Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7230 in orxonox.OLD for trunk/src/lib/network/synchronizeable.h


Ignore:
Timestamp:
Mar 21, 2006, 3:20:36 PM (18 years ago)
Author:
bensch
Message:

orxonox/trunk: merged the std::branche back

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/network/synchronizeable.h

    r6959 r7230  
    199199}
    200200#define SYNCHELP_WRITE_STRING(s,n) { SYNCHELP_WRITE_DEBUG(n); \
    201                                 if (s!=NULL) {\
    202201                                __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 ); \
    209204                                if ( __synchelp_write_n <= 0) \
    210205{ \
     
    216211#define SYNCHELP_WRITE_N        __synchelp_write_i
    217212#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 = \
    219222                                  f( data+__synchelp_write_i, maxLength-__synchelp_write_i ); \
     223                                  __synchelp_write_i += __synchelp_write_n;  \
     224                                  Converter::intToByteArray( __synchelp_write_n, spos, INTSIZE ); \
    220225                                }
    221226
     
    244249                                    __synchelp_read_i += __synchelp_read_n; \
    245250}
    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 == strlen(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 ) ;\
    249254                                    if ( __synchelp_read_n <0 )  \
    250255{ \
     
    254259                                    __synchelp_read_i += __synchelp_read_n; \
    255260}
     261#if 0 //not needed any more
    256262#define SYNCHELP_READ_STRINGM(s,n)    { SYNCHELP_READ_DEBUG(n); \
    257263                                    __synchelp_read_n = Converter::byteArrayToStringM( data+__synchelp_read_i, s );  \
     
    264270                                    __synchelp_read_i += __synchelp_read_n; \
    265271}
     272#endif
    266273#define SYNCHELP_READ_BYTE(b,n)      { SYNCHELP_READ_DEBUG(n); \
    267274                                    if ( length-__synchelp_read_i < 1 ) \
     
    274281}
    275282#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; \
    276292                                  __synchelp_read_i += \
    277                                   f( data+__synchelp_read_i, length-__synchelp_read_i, sender); \
     293                                  f( data+__synchelp_read_i, s, sender); \
    278294                                  }
    279295#define SYNCHELP_READ_REMAINING() ( length-__synchelp_read_i )
Note: See TracChangeset for help on using the changeset viewer.