reifydb_runtime/actor/system/
mod.rs1#[cfg(reifydb_dst)]
5pub mod dst;
6
7#[cfg(all(not(reifydb_single_threaded), not(reifydb_dst), not(loom)))]
8pub mod host;
9
10#[cfg(all(loom, not(reifydb_single_threaded)))]
11pub mod loom;
12
13#[cfg(all(reifydb_single_threaded, not(reifydb_dst)))]
14pub mod wasm;
15
16#[cfg(reifydb_dst)]
17pub use dst::{ActorHandle, ActorSpawner, ActorSystem, JoinError};
18#[cfg(all(not(reifydb_single_threaded), not(reifydb_dst), not(loom)))]
19pub use host::{ActorHandle, ActorSpawner, ActorSystem, JoinError};
20#[cfg(all(loom, not(reifydb_single_threaded)))]
21pub use loom::{ActorHandle, ActorSpawner, ActorSystem, JoinError};
22#[cfg(all(reifydb_single_threaded, not(reifydb_dst)))]
23pub use wasm::{ActorHandle, ActorSpawner, ActorSystem, JoinError};
24
25#[derive(Debug, Clone, Default)]
26pub struct ActorConfig {
27 pub mailbox_capacity: Option<usize>,
28 pub batch_size: Option<usize>,
29}
30
31impl ActorConfig {
32 pub fn new() -> Self {
33 Self::default()
34 }
35
36 pub fn mailbox_capacity(mut self, capacity: usize) -> Self {
37 self.mailbox_capacity = Some(capacity);
38 self
39 }
40
41 pub fn batch_size(mut self, size: usize) -> Self {
42 self.batch_size = Some(size);
43 self
44 }
45}