Trait DatabaseKeyMapper

Source
pub trait DatabaseKeyMapper: 'static {
Show 16 methods // Required methods fn to_db_node_key(node_id: &NodeId) -> Vec<u8> ; fn from_db_node_key(db_node_key: &Vec<u8>) -> NodeId; fn to_db_partition_num(partition_num: PartitionNumber) -> u8; fn from_db_partition_num(db_partition_num: u8) -> PartitionNumber; fn field_to_db_sort_key(field_key: &u8) -> DbSortKey; fn field_from_db_sort_key(db_sort_key: &DbSortKey) -> u8; fn map_to_db_sort_key(map_key: &Vec<u8>) -> DbSortKey; fn map_from_db_sort_key(db_sort_key: &DbSortKey) -> Vec<u8> ; fn sorted_to_db_sort_key(sorted_key: &([u8; 2], Vec<u8>)) -> DbSortKey; fn sorted_from_db_sort_key(db_sort_key: &DbSortKey) -> ([u8; 2], Vec<u8>); // 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>(db_sort_key: &DbSortKey) -> SubstateKey where K: SubstateKeyContent { ... } fn from_db_sort_key_to_inner<K>(db_sort_key: &DbSortKey) -> K where K: SubstateKeyContent { ... }
}
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) -> Vec<u8>

Converts the given Node ID to the database Node key.

Source

fn from_db_node_key(db_node_key: &Vec<u8>) -> NodeId

Converts the database Node key back to ReNode ID.

Source

fn to_db_partition_num(partition_num: PartitionNumber) -> u8

Converts the given Partition number to the database Partition number.

Source

fn from_db_partition_num(db_partition_num: u8) -> PartitionNumber

Converts the database Partition number back to a Partition number.

Source

fn field_to_db_sort_key(field_key: &u8) -> DbSortKey

Source

fn field_from_db_sort_key(db_sort_key: &DbSortKey) -> u8

Source

fn map_to_db_sort_key(map_key: &Vec<u8>) -> DbSortKey

Source

fn map_from_db_sort_key(db_sort_key: &DbSortKey) -> Vec<u8>

Source

fn sorted_to_db_sort_key(sorted_key: &([u8; 2], Vec<u8>)) -> DbSortKey

Source

fn sorted_from_db_sort_key(db_sort_key: &DbSortKey) -> ([u8; 2], Vec<u8>)

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>(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>(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§