Serialize backward_verified_key_id

This commit is contained in:
link2xt
2024-04-06 02:48:27 +00:00
parent 2423cb8175
commit e9f434b562
2 changed files with 17 additions and 1 deletions

View File

@@ -326,12 +326,14 @@ impl<R: AsyncRead + Unpin> Decoder<R> {
"
INSERT INTO
acpeerstates (addr,
backward_verified_key_id,
gossip_key, gossip_key_fingerprint, gossip_timestamp,
last_seen, last_seen_autocrypt,
prefer_encrypted,
public_key, public_key_fingerprint,
verified_key, verified_key_fingerprint)
VALUES (:addr,
:backward_verified_key_id
:gossip_key, :gossip_key_fingerprint, :gossip_timestamp,
:last_seen, :last_seen_autocrypt,
:prefer_encrypted,
@@ -344,6 +346,13 @@ VALUES (:addr,
self.expect_key("addr").await?;
let addr = self.expect_string().await?;
let backward_verified_key_id =
if self.expect_key_opt("backward_verified_key_id").await? {
Some(self.expect_i64().await?)
} else {
None
};
let gossip_key = if self.expect_key_opt("gossip_key").await? {
Some(self.expect_blob().await?)
} else {
@@ -397,6 +406,7 @@ VALUES (:addr,
stmt.execute(named_params! {
":addr": addr,
":backward_verified_key_id": backward_verified_key_id,
":gossip_key": gossip_key,
":gossip_key_fingerprint": gossip_key_fingerprint,
":gossip_timestamp": gossip_timestamp,

View File

@@ -93,12 +93,13 @@ impl<'a, W: AsyncWrite + Unpin> Encoder<'a, W> {
}
async fn serialize_acpeerstates(&mut self) -> Result<()> {
let mut stmt = self.tx.prepare("SELECT addr, last_seen, last_seen_autocrypt, public_key, prefer_encrypted, gossip_timestamp, gossip_key, public_key_fingerprint, gossip_key_fingerprint, verified_key, verified_key_fingerprint FROM acpeerstates")?;
let mut stmt = self.tx.prepare("SELECT addr, backward_verified_key_id, last_seen, last_seen_autocrypt, public_key, prefer_encrypted, gossip_timestamp, gossip_key, public_key_fingerprint, gossip_key_fingerprint, verified_key, verified_key_fingerprint FROM acpeerstates")?;
let mut rows = stmt.query(())?;
self.w.write_all(b"l").await?;
while let Some(row) = rows.next()? {
let addr: String = row.get("addr")?;
let backward_verified_key_id: Option<i64> = row.get("backward_verified_key_id")?;
let prefer_encrypted: i64 = row.get("prefer_encrypted")?;
let last_seen: i64 = row.get("last_seen")?;
@@ -119,6 +120,11 @@ impl<'a, W: AsyncWrite + Unpin> Encoder<'a, W> {
write_str(&mut self.w, "addr").await?;
write_str(&mut self.w, &addr).await?;
if let Some(backward_verified_key_id) = backward_verified_key_id {
write_str(&mut self.w, "backward_verified_key_id").await?;
write_i64(&mut self.w, backward_verified_key_id).await?;
}
if let Some(gossip_key) = gossip_key {
write_str(&mut self.w, "gossip_key").await?;
write_bytes(&mut self.w, &gossip_key).await?;