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§
Sourcefn to_db_node_key(node_id: &NodeId) -> Vec<u8> ⓘ
fn to_db_node_key(node_id: &NodeId) -> Vec<u8> ⓘ
Converts the given Node ID to the database Node key.
Sourcefn from_db_node_key(db_node_key: &Vec<u8>) -> NodeId
fn from_db_node_key(db_node_key: &Vec<u8>) -> NodeId
Converts the database Node key back to ReNode ID.
Sourcefn to_db_partition_num(partition_num: PartitionNumber) -> u8
fn to_db_partition_num(partition_num: PartitionNumber) -> u8
Converts the given Partition number to the database Partition number.
Sourcefn from_db_partition_num(db_partition_num: u8) -> PartitionNumber
fn from_db_partition_num(db_partition_num: u8) -> PartitionNumber
Converts the database Partition number back to a Partition number.
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§
Sourcefn to_db_partition_key(
node_id: &NodeId,
partition_num: PartitionNumber,
) -> DbPartitionKey
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.
Sourcefn from_db_partition_key(
partition_key: &DbPartitionKey,
) -> (NodeId, PartitionNumber)
fn from_db_partition_key( partition_key: &DbPartitionKey, ) -> (NodeId, PartitionNumber)
Converts database partition’s key back to ReNode ID and Partition number.
Sourcefn to_db_sort_key(key: &SubstateKey) -> DbSortKey
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).
Sourcefn to_db_sort_key_from_ref(key: SubstateKeyRef<'_>) -> DbSortKey
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).
Sourcefn from_db_sort_key<K>(db_sort_key: &DbSortKey) -> SubstateKeywhere
K: SubstateKeyContent,
fn from_db_sort_key<K>(db_sort_key: &DbSortKey) -> SubstateKeywhere
K: SubstateKeyContent,
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);
Sourcefn from_db_sort_key_to_inner<K>(db_sort_key: &DbSortKey) -> Kwhere
K: SubstateKeyContent,
fn from_db_sort_key_to_inner<K>(db_sort_key: &DbSortKey) -> Kwhere
K: SubstateKeyContent,
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.