#include <archon/x3d/server/load.H>
Collaboration diagram for Archon::X3D::Loader::Contents::Id:
Public Member Functions | |
Id () | |
operator bool () | |
bool | operator< (const Id &i) const |
Static Public Member Functions | |
static Id | next () |
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.