hdp_primitives/task/datalake/
envelope.rs1use serde::{Deserialize, Serialize};
2
3use super::{
4 block_sampled::BlockSampledDatalake, transactions::TransactionsInBlockDatalake,
5 DatalakeCollection,
6};
7
8pub type BatchedDatalakes = Vec<DatalakeEnvelope>;
9
10#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
12#[serde(tag = "type")]
13pub enum DatalakeEnvelope {
14 BlockSampled(BlockSampledDatalake),
15 TransactionsInBlock(TransactionsInBlockDatalake),
16}
17
18impl DatalakeEnvelope {
19 pub fn get_collection_type(&self) -> Box<dyn DatalakeCollection> {
20 match self {
21 DatalakeEnvelope::BlockSampled(datalake) => Box::new(datalake.sampled_property.clone()),
22 DatalakeEnvelope::TransactionsInBlock(datalake) => {
23 Box::new(datalake.sampled_property.clone())
24 }
25 }
26 }
27}
28
29pub fn default_increment() -> u64 {
31 1
32}