Archon::X3D::Loader::Contents::Id Struct Reference

Provides unique identifiers over long periods of time. More...

#include <archon/x3d/server/load.H>

Collaboration diagram for Archon::X3D::Loader::Contents::Id:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Id ()
 operator bool ()
bool operator< (const Id &i) const

Static Public Member Functions

static Id next ()

Detailed Description

Provides unique identifiers over long periods of time.

That is, if you ask for a 'personal' identifier (using the 'next' method), then it is guaranteed that your identifier will be different from all other identifiers that have been provided in the past, as well as from all those that will be provided in the future. All right, this is utopia, but we should think of it that way, and if we encounter problems keeping this guarantee then we should raise the number of bits in the enumerator, or think of other more dynamic ways of expanding the enumeration range. CORBA delas with this problem too in its IORs, and requires not only that they be unique during the life of a process, but that the be unique at all times and across the whole wide web.

The motivation for this kind of identifier comes from the need to discover equality or change of contents between several parties. The trick is that it is usually much faster to compare two identifiers than to compare the objects/entities that they identify. It is only possible though, if we can guarantee uniqueness over long periods of time as described above.

Note that the validity of the asumpsion of uniqueness has implications on security also. If two identifiers clash but have different privileges associated with them, then we have no security.

Definition at line 122 of file load.H.


The documentation for this struct was generated from the following file:
Generated on Sun Jul 30 23:00:26 2006 for Archon by  doxygen 1.4.4