DatabaseKeyMapper

Trait DatabaseKeyMapper 

Source
pub trait DatabaseKeyMapper: 'static {
Show 16 methods // Required methods fn to_db_node_key(node_id: &NodeId) -> DbNodeKey; fn from_db_node_key(db_node_key: &DbNodeKey) -> NodeId; fn to_db_partition_num(partition_num: PartitionNumber) -> DbPartitionNum; fn from_db_partition_num( db_partition_num: DbPartitionNum, ) -> PartitionNumber; fn field_to_db_sort_key(field_key: &FieldKey) -> DbSortKey; fn field_from_db_sort_key(db_sort_key: &DbSortKey) -> FieldKey; fn map_to_db_sort_key(map_key: &MapKey) -> DbSortKey; fn map_from_db_sort_key(db_sort_key: &DbSortKey) -> MapKey; fn sorted_to_db_sort_key(sorted_key: &SortedKey) -> DbSortKey; fn sorted_from_db_sort_key(db_sort_key: &DbSortKey) -> SortedKey; // Provided methods fn to_db_partition_key( node_id: &NodeId, partition_num: PartitionNumber, ) -> DbPartitionKey { ... } fn from_db_partition_key( partition_key: &DbPartitionKey, ) -> (NodeId, PartitionNumber) { ... } fn to_db_sort_key(key: &SubstateKey) -> DbSortKey { ... } fn to_db_sort_key_from_ref(key: SubstateKeyRef<'_>) -> DbSortKey { ... } fn from_db_sort_key<K: SubstateKeyContent>( db_sort_key: &DbSortKey, ) -> SubstateKey { ... } fn from_db_sort_key_to_inner<K: SubstateKeyContent>( db_sort_key: &DbSortKey, ) -> K { ... }
}
Expand description

A mapper between the business ReNode / Partition / Substate IDs and database keys.

Required Methods§

Source

fn to_db_node_key(node_id: &NodeId) -> DbNodeKey

Converts the given Node ID to the database Node key.

Source

fn from_db_node_key(db_node_key: &DbNodeKey) -> NodeId

Converts the database Node key back to ReNode ID.

Source

fn to_db_partition_num(partition_num: PartitionNumber) -> DbPartitionNum

Converts the given Partition number to the database Partition number.

Source

fn from_db_partition_num(db_partition_num: DbPartitionNum) -> PartitionNumber

Converts the database Partition number back to a Partition number.

Source

fn field_to_db_sort_key(field_key: &FieldKey) -> DbSortKey

Source

fn field_from_db_sort_key(db_sort_key: &DbSortKey) -> FieldKey

Source

fn map_to_db_sort_key(map_key: &MapKey) -> DbSortKey

Source

fn map_from_db_sort_key(db_sort_key: &DbSortKey) -> MapKey

Source

fn sorted_to_db_sort_key(sorted_key: &SortedKey) -> DbSortKey

Source

fn sorted_from_db_sort_key(db_sort_key: &DbSortKey) -> SortedKey

Provided Methods§

Source

fn to_db_partition_key( node_id: &NodeId, partition_num: PartitionNumber, ) -> DbPartitionKey

Converts the given Node ID and Partition number to the database partition’s key.

Source

fn from_db_partition_key( partition_key: &DbPartitionKey, ) -> (NodeId, PartitionNumber)

Converts database partition’s key back to ReNode ID and Partition number.

Source

fn to_db_sort_key(key: &SubstateKey) -> DbSortKey

Converts the given SubstateKey to the database’s sort key. This is a convenience method, which simply unwraps the SubstateKey and maps any specific type found inside (see *_to_db_sort_key() family).

Source

fn to_db_sort_key_from_ref(key: SubstateKeyRef<'_>) -> DbSortKey

Converts the given SubstateKeyRef to the database’s sort key. This is a convenience method, which simply unwraps the SubstateKeyRef and maps any specific type found inside (see *_to_db_sort_key() family).

Source

fn from_db_sort_key<K: SubstateKeyContent>( db_sort_key: &DbSortKey, ) -> SubstateKey

Converts the given database’s sort key to a SubstateKey. This is a convenience method, which simply wraps the type-specific result of an appropriate *_from_db_sort_key() method into a SubstateKey.

§Examples
Mapper::from_db_sort_key::<FieldKey>(&db_sort_key);
Mapper::from_db_sort_key::<MapKey>(&db_sort_key);
Mapper::from_db_sort_key::<SortedKey>(&db_sort_key);
Source

fn from_db_sort_key_to_inner<K: SubstateKeyContent>( db_sort_key: &DbSortKey, ) -> K

§Examples
Mapper::from_db_sort_key_to_inner::<FieldKey>(&db_sort_key);
Mapper::from_db_sort_key_to_inner::<MapKey>(&db_sort_key);
Mapper::from_db_sort_key_to_inner::<SortedKey>(&db_sort_key);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§