Skip to content

Commit

Permalink
Store room user variable count under a room metadata space
Browse files Browse the repository at this point in the history
  • Loading branch information
ProjectMoon committed Oct 23, 2020
1 parent d482046 commit 794bf0b
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/db.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ use zerocopy::{AsBytes, LayoutVerified};
/// read.
type LittleEndianI32Layout<'a> = LayoutVerified<&'a [u8], I32<LittleEndian>>;

const METADATA_KEY: &'static str = "metadata";
const VARIABLE_COUNT_KEY: &'static str = "variable_count";

#[derive(Clone)]
Expand Down Expand Up @@ -69,8 +70,17 @@ fn to_key(room_id: &str, username: &str, variable_name: &str) -> Vec<u8> {
key
}

fn metadata_key(room_id: &str, username: &str, metadata_key: &str) -> Vec<u8> {
let mut key = vec![];
key.extend_from_slice(room_id.as_bytes());
key.extend_from_slice(METADATA_KEY.as_bytes());
key.extend_from_slice(username.as_bytes());
key.extend_from_slice(metadata_key.as_bytes());
key
}

fn room_variable_count_key(room_id: &str, username: &str) -> Vec<u8> {
to_key(room_id, username, VARIABLE_COUNT_KEY)
metadata_key(room_id, username, VARIABLE_COUNT_KEY)
}

fn to_prefix(room_id: &str, username: &str) -> Vec<u8> {
Expand Down

0 comments on commit 794bf0b

Please sign in to comment.