Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 24, 2008, 3:06:20 PM (16 years ago)
Author:
scheusso
Message:

changed synchronisable (size of data wont be sended anymore

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/network3/src/network/Synchronisable.cc

    r1168 r1170  
    151151    for(i=syncList->begin(); n<datasize && i!=syncList->end(); ++i){
    152152      //(std::memcpy(retVal.data+n, (const void*)(&(i->size)), sizeof(int));
    153       memcpy( (void *)(retVal.data+n), (const void *)&((*i)->size), sizeof(int) );
    154       n+=sizeof(int);
    155153      switch((*i)->type){
    156154      case DATA:
     
    159157        break;
    160158      case STRING:
     159        memcpy( (void *)(retVal.data+n), (const void *)&((*i)->size), sizeof(int) );
     160        n+=sizeof(int);
    161161        std::memcpy( retVal.data+n, (const void*)( ( (std::string *) (*i)->var)->c_str()), (*i)->size);
    162162        n+=(*i)->size;
     
    182182    for(i=syncList->begin(); i!=syncList->end(); i++){
    183183      COUT(5) << "Synchronisable: element size: " << (*i)->size << " type: " << (*i)->type << std::endl;
    184       if(*(int *)data==(*i)->size || (*i)->type==STRING){
    185         switch((*i)->type){
    186         case DATA:
    187           data+=sizeof(int);
    188           memcpy((void*)(*i)->var, data, (*i)->size);
    189           data+=(*i)->size;
    190           break;
    191         case STRING:
    192           (*i)->size = *(int *)data;
    193           data+=sizeof(int);
    194           *((std::string *)((*i)->var)) = std::string((const char*)data);
    195           data += (*i)->size;
    196           break;
    197         }
    198       } else
    199         return false; //there was some problem with registerVar
     184      switch((*i)->type){
     185      case DATA:
     186        memcpy((void*)(*i)->var, data, (*i)->size);
     187        data+=(*i)->size;
     188        break;
     189      case STRING:
     190        (*i)->size = *(int *)data;
     191        data+=sizeof(int);
     192        *((std::string *)((*i)->var)) = std::string((const char*)data);
     193        data += (*i)->size;
     194        break;
     195      }
    200196    }
    201197    return true;
     
    212208      switch((*i)->type){
    213209      case DATA:
    214         tsize+=sizeof(int);
    215210        tsize+=(*i)->size;
    216211        break;
Note: See TracChangeset for help on using the changeset viewer.