Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

vrpn_LamportClock.h

This is the verbatim text of the vrpn_LamportClock.h include file.
#ifndef VRPN_LAMPORT_CLOCK_H
#define VRPN_LAMPORT_CLOCK_H

#include "vrpn_Types.h"



class vrpn_LamportTimestamp {

  public:

    vrpn_LamportTimestamp (int vectorLength, vrpn_uint32 * vector);
    vrpn_LamportTimestamp (const vrpn_LamportTimestamp &);
    ~vrpn_LamportTimestamp (void);

    vrpn_LamportTimestamp & operator = (const vrpn_LamportTimestamp &);


    // ACCESSORS


    vrpn_bool operator < (const vrpn_LamportTimestamp & r) const;


    // Utility functions.

    vrpn_uint32 operator [] (int i) const;

    int size (void) const;


  private:

    void copy (const vrpn_uint32 *);

    int d_timestampSize;
    vrpn_uint32 * d_timestamp;

    vrpn_LamportTimestamp (void);

};


class vrpn_LamportClock {

  public:

    vrpn_LamportClock (int numHosts, int ourIndex);
    ~vrpn_LamportClock (void);


    // MANIPULATORS


    void receive (const vrpn_LamportTimestamp &);

    vrpn_LamportTimestamp * getTimestampAndAdvance (void);


  private:

    int d_numHosts;
    int d_ourIndex;
    vrpn_uint32 * d_currentTimestamp;

};



#endif  // VRPN_LAMPORT_CLOCK_H



Generated at Fri Sep 13 15:04:16 2002 for vrpn by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999