OpenCog Framework
Branch: master, revision 6f0b7fc776b08468cf1b74aa9db028f387b4f0c0
|
#include <TLB.h>
Private Member Functions | |
TLB () | |
Static Private Member Functions | |
static void | addAtom (AtomPtr atom) |
static bool | isInvalidHandle (const Handle &h) |
static bool | isValidHandle (const Handle &h) |
static UUID | getMaxUUID (void) |
static void | reserve_range (UUID lo, UUID hi) |
static UUID | reserve_extent (UUID extent) |
static void | reserve_upto (UUID hi) |
Static Private Attributes | |
static std::atomic< UUID > | _brk_uuid |
Friends | |
class | Atom |
class | AtomSpaceBenchmark |
class | AtomStorage |
class | AtomTable |
class | ::TLBUTest |
class | ::BasicSaveUTest |
Each atom stored in the AtomSpace will have an immutable UUID, which may be used to refer to that atom when a reference to that atom needs to be kept. This allows atoms to be shared between different atomspaces running in different memory spaces (on different machines in a network cluster): a given atom will have a unique UUID by which it is refered to.
Atomspaces are also issued UUID's. This allows atomspaces to be uniquely identified as well.
Reserving UUID's is kind of like mallocing them, except that (currently) there is no way to free them. Use reserve_range() and reserve_extent() to malloc them.
Everything in this class is private, mostly because we don't want anyone to mess with it, except our closest friends.
|
inlineprivate |
|
inlinestaticprivate |
Adds a new atom to the TLB. If the atom has already be added then an exception is thrown.
Atom | to be added. |
Definition at line 142 of file TLB.h.
References _brk_uuid, opencog::Handle::UNDEFINED, and opencog::Handle::value().
|
inlinestaticprivate |
|
inlinestaticprivate |
Definition at line 131 of file TLB.h.
References _brk_uuid, opencog::Handle::UNDEFINED, and opencog::Handle::value().
|
inlinestaticprivate |
Definition at line 137 of file TLB.h.
References isInvalidHandle().
|
inlinestaticprivate |
|
friend |
|
friend |