Introduce autoerr

This commit is contained in:
Dominik Werder
2024-12-05 20:56:58 +01:00
parent e85728c1e3
commit 162084d302
3 changed files with 16 additions and 10 deletions

View File

@@ -12,6 +12,7 @@ futures-util = "0.3.24"
pin-project = "1"
async-channel = "2.3.1"
scylla = "0.15.0"
autoerr = "0.0.3"
daqbuf-err = { path = "../../../daqbuf-err" }
netpod = { path = "../../../daqbuf-netpod", package = "daqbuf-netpod" }
query = { path = "../../../daqbuf-query", package = "daqbuf-query" }

View File

@@ -1,23 +1,23 @@
use crate::log::*;
use daqbuf_err as err;
use err::thiserror;
use err::ThisError;
use futures_util::StreamExt;
use futures_util::TryStreamExt;
use netpod::log::*;
use netpod::ttl::RetentionTime;
use netpod::TsMs;
use netpod::EMIT_ACCOUNTING_SNAP;
use scylla::prepared_statement::PreparedStatement;
use scylla::Session as ScySession;
#[derive(Debug, ThisError)]
#[cstm(name = "AccountingToplist")]
pub enum Error {
ScyllaQuery(#[from] scylla::transport::errors::QueryError),
ScyllaNextRow(#[from] scylla::transport::iterator::NextRowError),
ScyllaTypeCheck(#[from] scylla::deserialize::TypeCheckError),
UsageDataMalformed,
}
autoerr::create_error_v1!(
name(Error, "AccountingToplist"),
enum variants {
ScyllaQuery(#[from] scylla::transport::errors::QueryError),
ScyllaNextRow(#[from] scylla::transport::iterator::NextRowError),
ScyllaTypeCheck(#[from] scylla::deserialize::TypeCheckError),
UsageDataMalformed,
},
);
#[derive(Debug)]
pub struct UsageData {
@@ -103,6 +103,7 @@ pub async fn read_ts(ks: &str, rt: RetentionTime, ts: TsMs, scy: &ScySession) ->
}
async fn read_ts_inner(ks: &str, rt: RetentionTime, ts: TsMs, scy: &ScySession) -> Result<UsageData, Error> {
trace!("read_ts_inner");
type RowType = (i64, i64, i64);
let cql = format!(
concat!(

View File

@@ -12,6 +12,10 @@ pub mod worker;
pub use daqbuf_series::SeriesId;
pub use scylla;
mod log {
pub use netpod::log::*;
}
pub async fn test_log() {
use netpod::log::*;
error!("------");