MckoiDDB API Reference Guide
The following packages are available for reference to developers using MckoiDDB. I encourage programmers who wish to develop their own data models using MckoiDDB to look at the source code to see how things fit together. Additional technical documentation can be found in the documentation page.
Packages Summary
API Documentation: com.mckoi.data Package
The com.mckoi.data package contains the classes for supporting MckoiDDB data models, including the tree data model that provides the primitive snapshot, transaction and object lookup functionality.
Note that this page is a summary of the classes that are of most interest to application developers, and does not contain the complete list of all classes. Please consult the source code for more detailed information about this package.
Interface Summary
- DataFile - A bounded sequence of bytes that can be freely resized, shifted and traversed. DataFile is the object type for all stored data in MckoiDDB.
- Index64Bit - An interface for a collection of 64-bit values that may be arranged in a sorted order.
- IndexObjectCollator - A collator for objects that are dereferenced from a 64-bit pointer.
- Iterator64Bit - A random-access and bi-directional iterator of 64-bit values.
- KeyObjectTransaction - A snapshot of a Key -> Object (DataFile) database that provides a guarantee of atomicity and isolation.
Class Summary
- DataFileUtils - Utility methods for wrapping DataFile objects with Java object streams.
- FixedSizeSerialSet - Wraps DataFile to implement a storage component for record elements of fixed size.
- Index64BitUtils - Static methods that provide some basic Index64Bit implementations.
- Key - A Key object, used to reference DataFile objects in a KeyObjectTransaction.
- LocalFileSystemDatabase - A database implementation that uses the com.mckoi.store API (see the source code) to persist data structures in the local file system with a simple configuration.
- OrderedList64Bit - A Index64Bit implementation, which implements an ordered list of 64 bit values mapped over a DataFile object.
- OrderedSetString - An ordered set of variable length string values mapped over a DataFile object. This object implements java.lang.SortedSet.
- PropertySet - A set of string key to value properties mapped over a DataFile object.
- StringData - An object that wraps a DataFile to provide a mutable string object of any size.
API Documentation: com.mckoi.network Package
The com.mckoi.network package contains the classes necessary for Mckoi machine node communication over a network, node management, path instance management, and the interface for building data concurrency models.
Note that this page is a summary of the classes that are of most interest to application developers, and does not contain the complete list of all classes. Please consult the source code for more detailed information about this package.
Interface Summary
- ConsensusDDBConnection - Used by ConsensusProcessor to communicate with the path instance during a database operation.
- ConsensusProcessor - Defines the concurrency model of a path instance, including how the path instance should be initialized, and a function to display instance stats.
- LocalNetworkCache - A local cache of network topology information and node data.
Class Summary
- CommitFaultException - An exception that indicates changes made by concurrent transactions are in conflict and a consistent model of a proposed change could not be published.
- DataAddress - The location of some data stored in the network data address space (typically used to reference the root node of a snapshot tree).
- ExternalThrowable - An exception that happened in an external service.
- HeapLocalNetworkCache - An implementation of LocalNetworkCache that stores cached data on the Java heap.
- MachineProfile - Describes a machine in a Mchoi distributed network, used by administration functions.
- MckoiDDBClient - The client object for interacting with a MckoiDDB installation.
- MckoiDDBClientUtils - Utility methods for creating MckoiDDBClient objects (for example, connecting to a MckoiDDB over a TCP network).
- NetworkAdminException - An exception generated when an administration command fails in com.mckoi.network.NetworkProfile.
- NetworkProfile - An administration object that can discover the status of machine nodes and assign roles.
- NetworkWriteException - A runtime exception that is generated when an unrecoverable error happens when writing nodes to the database.
- PathProfile - Describes a path instance on a root server, used by administration functions.
- ServiceAddress - An address/port of a service in an IP based network. The address is represented as a 128-bit field and follows ipv6 conventions.
API Documentation: com.mckoi.sdb Package
The com.mckoi.sdb package contains the API classes for managing a Simple Database path instance in a MckoiDDB installation. The Simple Database API supports a file (SDBFile) and table (SDBTable) structured data implementation, and a directory set for managing the namespace of each object type.
Class Summary
- RowCursor - A random access and bi-directional iterator for traversing a set of rows in a table index.
- SDBFile - The Simple Database file object.
- SDBIndex - An ordered set of rows of a table.
- SDBRootAddress - The root node address of a database snapshot from a Simple Database session.
- SDBRow - A row item of a Simple Database table. This object provides access to the contents of the row.
- SDBSession - The interface for accessing snapshots of a Simple Database path instance.
- SDBTable - The Simple Database table object.
- SDBTransaction - An isolated snapshot view of a Simple Database.
- SimpleDatabase - The Consensus Processor that defines the concurrency control model used by Simple Database.
