Principal search index (closes #1368)
This commit is contained in:
@@ -322,6 +322,10 @@ impl ValueClass {
|
||||
.write(6u8)
|
||||
.write(*principal_id)
|
||||
.write(*has_member),
|
||||
DirectoryClass::Index { word, principal_id } => serializer
|
||||
.write(7u8)
|
||||
.write(word.as_slice())
|
||||
.write(*principal_id),
|
||||
},
|
||||
ValueClass::Queue(queue) => match queue {
|
||||
QueueClass::Message(queue_id) => serializer.write(*queue_id),
|
||||
@@ -534,6 +538,7 @@ impl ValueClass {
|
||||
DirectoryClass::NameToId(v) | DirectoryClass::EmailToId(v) => v.len(),
|
||||
DirectoryClass::Principal(_) | DirectoryClass::UsedQuota(_) => U32_LEN,
|
||||
DirectoryClass::Members { .. } | DirectoryClass::MemberOf { .. } => U32_LEN * 2,
|
||||
DirectoryClass::Index { word, .. } => word.len() + U32_LEN,
|
||||
},
|
||||
ValueClass::Blob(op) => match op {
|
||||
BlobOp::Reserve { .. } => BLOB_HASH_LEN + U64_LEN + U32_LEN + 1,
|
||||
|
||||
@@ -203,6 +203,7 @@ pub enum InMemoryClass {
|
||||
pub enum DirectoryClass {
|
||||
NameToId(Vec<u8>),
|
||||
EmailToId(Vec<u8>),
|
||||
Index { word: Vec<u8>, principal_id: u32 },
|
||||
MemberOf { principal_id: u32, member_of: u32 },
|
||||
Members { principal_id: u32, has_member: u32 },
|
||||
Principal(u32),
|
||||
|
||||
Reference in New Issue
Block a user