laminar_db/process_function/remote/
mod.rs1mod client;
8mod codec;
9mod local_python;
10mod python_environment;
11mod response;
12mod worker;
13
14#[cfg(test)]
15mod tests;
16
17pub use client::RemoteProcessClient;
18pub use local_python::{LocalPythonWorker, LocalPythonWorkerConfig};
19pub use worker::RustReferenceWorker;
20
21#[cfg(all(test, target_os = "linux"))]
22pub(crate) use python_environment::read_only_fixture_config;
23
24#[allow(clippy::doc_markdown, clippy::default_trait_access)] pub(crate) mod wire {
26 tonic::include_proto!("laminar.process.v1");
27}
28
29const PROTOCOL_VERSION: u32 = 1;
30const MAX_FRAME_BYTES: usize = 8 * 1024 * 1024;
31const MAX_INVOCATION_WIRE_BYTES: usize = 32 * 1024 * 1024;
32const MAX_IN_FLIGHT: usize = 32;
33
34#[derive(Clone, Debug)]
37pub struct RemoteInvocationScope {
38 pub operator_id: String,
40 pub vnode: u32,
42 pub vnode_count: u32,
44 pub owner_generation: u64,
46 pub recovery_generation: u64,
48 pub batch_id: uuid::Uuid,
50 pub attempt_id: uuid::Uuid,
52 pub input_watermark_us: Option<i64>,
54}