CardDAV skeleton + Message ingestion performance improvements

This commit is contained in:
mdecimus
2025-03-28 17:25:30 +01:00
parent a5e6f77b26
commit 372f2bec70
43 changed files with 1007 additions and 302 deletions

View File

@@ -1,17 +1,17 @@
[package]
name = "dav-proto"
version = "0.1.0"
version = "0.11.7"
edition = "2021"
[dependencies]
hashify = "0.2.6"
quick-xml = "0.37.2"
calcard = { path = "/Users/me/code/calcard" }
calcard = { path = "/Users/me/code/calcard", features = ["rkyv"] }
mail-parser = "0.10.2"
hyper = "1.6.0"
rkyv = { version = "0.8.10", features = ["little_endian"] }
[dev-dependencies]
calcard = { path = "/Users/me/code/calcard", features = ["serde"] }
calcard = { path = "/Users/me/code/calcard", features = ["serde", "rkyv"] }
serde = { version = "1.0.217", features = ["derive"] }
serde_json = "1.0.138"

View File

@@ -40,7 +40,7 @@ impl DavParser for Report {
NamedElement {
ns: Namespace::CardDav,
element: Element::AddressbookQuery,
} => AddressbookQuery::parse(stream).map(Report::Addressbook),
} => AddressbookQuery::parse(stream).map(Report::AddressbookQuery),
NamedElement {
ns: Namespace::CardDav,
element: Element::AddressbookMultiget,

View File

@@ -58,18 +58,23 @@ pub struct LockInfo {
#[cfg_attr(test, derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(test, serde(tag = "type"))]
pub enum Report {
Addressbook(AddressbookQuery),
AddressbookQuery(AddressbookQuery),
AddressbookMultiGet(MultiGet),
CalendarQuery(CalendarQuery),
CalendarMultiGet(MultiGet),
FreeBusyQuery(FreeBusyQuery),
SyncCollection(SyncCollection),
ExpandProperty(ExpandProperty),
AclPrincipalPropSet(AclPrincipalPropSet),
PrincipalMatch(PrincipalMatch),
PrincipalPropertySearch(PrincipalPropertySearch),
PrincipalSearchPropertySet,
}
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(test, derive(serde::Serialize, serde::Deserialize))]
pub struct ExpandProperty {}
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(test, derive(serde::Serialize, serde::Deserialize))]
pub struct AddressbookQuery {