Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 23, 2009, 10:28:25 AM (16 years ago)
Author:
scheusso
Message:

reduced overhead/load of Synchronisable::getSize quite a lot

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/netp/src/network/synchronisable/SynchronisableVariable.h

    r2794 r2822  
    5656  {
    5757    public:
    58       virtual void getData(uint8_t*& mem, uint8_t mode)=0;
     58      virtual uint32_t getData(uint8_t*& mem, uint8_t mode)=0;
    5959      virtual void putData(uint8_t*& mem, uint8_t mode, bool forceCallback = false)=0;
    6060      virtual uint32_t getSize(uint8_t mode)=0;
     
    7474
    7575      virtual inline uint8_t getMode(){ return mode_; }
    76       virtual inline void getData(uint8_t*& mem, uint8_t mode);
     76      virtual inline uint32_t getData(uint8_t*& mem, uint8_t mode);
    7777      virtual inline void putData(uint8_t*& mem, uint8_t mode, bool forceCallback = false);
    7878      virtual inline uint32_t getSize(uint8_t mode);
     
    9797     
    9898      virtual inline uint8_t getMode(){ return 0x3; } //this basically is a hack ^^
    99       virtual inline void getData(uint8_t*& mem, uint8_t mode);
     99      virtual inline uint32_t getData(uint8_t*& mem, uint8_t mode);
    100100      virtual void putData(uint8_t*& mem, uint8_t mode, bool forceCallback = false);
    101101      virtual inline uint32_t getSize(uint8_t mode);
     
    122122  }
    123123
    124   template <class T> inline void SynchronisableVariable<T>::getData(uint8_t*& mem, uint8_t mode)
     124  template <class T> inline uint32_t SynchronisableVariable<T>::getData(uint8_t*& mem, uint8_t mode)
    125125  {
    126126    if ( state_ == this->mode_ )
     127    {
    127128      getAndIncrease( mem );
     129      return returnSize();
     130    }
     131    else
     132      return 0;
    128133//   mem += SynchronisableVariable<T>::getSize();
    129134  }
     
    230235    }
    231236
    232     template <class T> void SynchronisableVariableBidirectional<T>::getData(uint8_t*& mem, uint8_t mode)
     237    template <class T> uint32_t SynchronisableVariableBidirectional<T>::getData(uint8_t*& mem, uint8_t mode)
    233238    {
    234239      if ( this->mode_ == mode )
     
    246251      SynchronisableVariable<T>::getAndIncrease( mem );
    247252//   mem += SynchronisableVariable<T>::getSize();
     253      return SynchronisableVariableBidirectional::getSize(mode);
    248254    }
    249255
Note: See TracChangeset for help on using the changeset viewer.