module vrt.gc.linkednode

Doubly linked list for GigaMan to track extents allocated without the extent tree.

Code Map

//! Doubly linked list for GigaMan to track extents allocated without the
//! extent tree.
module vrt.gc.linkednode;


struct LinkedNode
{
public:
	prev: LinkedNode*;
	next: LinkedNode*;
}

//! A union of LinkedNode and Node. The code that deals with their extents
//! knows which one they want, so there's no need to distinguish between
//! them on the extent itself.
union UnionNode
{
public:
	linked: LinkedNode;
	tree: Node;
}
union UnionNode

A union of LinkedNode and Node. The code that deals with their extents knows which one they want, so there's no need to distinguish between them on the extent itself.