hive-c0re: finish chrono-clock migration
This commit is contained in:
parent
f4a35786b1
commit
9293c5d580
14 changed files with 82 additions and 78 deletions
|
|
@ -6,8 +6,8 @@ use std::path::Path;
|
|||
use std::sync::Mutex;
|
||||
|
||||
use anyhow::{Context, Result};
|
||||
use chrono::Utc;
|
||||
|
||||
use hive_sh4re::wire_time::now_unix;
|
||||
use hive_sh4re::{InboxRow, Message};
|
||||
|
||||
use crate::db::Migration;
|
||||
|
|
@ -211,7 +211,7 @@ impl Broker {
|
|||
|
||||
pub fn send(&self, message: &Message) -> Result<()> {
|
||||
let conn = self.conn.lock().unwrap();
|
||||
let now = now_unix();
|
||||
let now = Utc::now().timestamp();
|
||||
// Operator messages get elevated priority so they surface before
|
||||
// queued wakes (bash completions, forge events, etc.) when the
|
||||
// harness pops the next turn driver. All other senders stay at 0.
|
||||
|
|
@ -391,7 +391,7 @@ impl Broker {
|
|||
const PREFIX: &str = "your parent changed from ";
|
||||
const SEPARATOR: &str = " to ";
|
||||
let conn = self.conn.lock().unwrap();
|
||||
let now = now_unix();
|
||||
let now = Utc::now().timestamp();
|
||||
let existing: Option<(i64, String)> = conn
|
||||
.query_row(
|
||||
"SELECT id, body FROM messages
|
||||
|
|
@ -513,7 +513,7 @@ impl Broker {
|
|||
/// `requeue_inflight`, the latter because they're still in flight
|
||||
/// from the broker's POV. Returns the number of rows removed.
|
||||
pub fn vacuum_delivered(&self, older_than_secs: i64) -> Result<u64> {
|
||||
let cutoff = now_unix() - older_than_secs;
|
||||
let cutoff = Utc::now().timestamp() - older_than_secs;
|
||||
let conn = self.conn.lock().unwrap();
|
||||
let n = conn.execute(
|
||||
"DELETE FROM messages
|
||||
|
|
@ -578,7 +578,7 @@ impl Broker {
|
|||
}
|
||||
// Stamp all popped rows in a single UPDATE — under the broker
|
||||
// mutex, well within sqlite's 999-param default.
|
||||
let now = now_unix();
|
||||
let now = Utc::now().timestamp();
|
||||
let ids: Vec<i64> = rows.iter().map(|(id, _, _, _, _)| *id).collect();
|
||||
let placeholders = std::iter::repeat_n("?", ids.len())
|
||||
.collect::<Vec<_>>()
|
||||
|
|
@ -642,7 +642,7 @@ impl Broker {
|
|||
if ids.is_empty() {
|
||||
return Ok(0);
|
||||
}
|
||||
let now = now_unix();
|
||||
let now = Utc::now().timestamp();
|
||||
let conn = self.conn.lock().unwrap();
|
||||
// Bind every id explicitly. Caps in the hundreds in the worst
|
||||
// case (a single very chatty turn); well under sqlite's 999
|
||||
|
|
@ -688,7 +688,7 @@ impl Broker {
|
|||
let n = conn.execute(
|
||||
"UPDATE messages SET acked_at = ?1
|
||||
WHERE recipient = ?2 AND id <= ?3 AND acked_at IS NULL",
|
||||
params![now_unix(), recipient, up_to],
|
||||
params![Utc::now().timestamp(), recipient, up_to],
|
||||
)?;
|
||||
Ok(u64::try_from(n).unwrap_or(0))
|
||||
}
|
||||
|
|
@ -762,7 +762,7 @@ impl Broker {
|
|||
pub fn mark_all_read(&self, recipient: &str) -> Result<u64> {
|
||||
let mut inflight = self.inflight.lock().unwrap();
|
||||
let conn = self.conn.lock().unwrap();
|
||||
let now = now_unix();
|
||||
let now = Utc::now().timestamp();
|
||||
// Two-axis update in one statement: set acked_at on every
|
||||
// row for the recipient that doesn't have it yet, AND backfill
|
||||
// delivered_at if it was NULL so the row is fully consumed
|
||||
|
|
|
|||
Loading…
Reference in a new issue