-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlib.rs
More file actions
44 lines (39 loc) · 1.28 KB
/
lib.rs
File metadata and controls
44 lines (39 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
mod async_util;
pub mod common;
pub mod consumer;
pub mod errors;
pub mod producer;
use pyo3::prelude::*;
/// A Python module implemented in Rust.
#[pymodule]
fn opsqueue_internal(m: &Bound<'_, PyModule>) -> PyResult<()> {
// We want Rust logs created by code called from this module
// to be forwarded to Python's logging system
pyo3_log::init();
// Classes
m.add_class::<common::SubmissionId>()?;
m.add_class::<common::ChunkIndex>()?;
m.add_class::<common::Strategy>()?;
m.add_class::<common::Chunk>()?;
m.add_class::<common::ChunkFailed>()?;
m.add_class::<common::SubmissionStatus>()?;
m.add_class::<common::Submission>()?;
m.add_class::<common::SubmissionCancelled>()?;
m.add_class::<common::SubmissionCompleted>()?;
m.add_class::<common::SubmissionFailed>()?;
m.add_class::<common::SubmissionNotCancellable>()?;
m.add_class::<producer::PyChunksIter>()?;
m.add_class::<consumer::ConsumerClient>()?;
m.add_class::<producer::ProducerClient>()?;
// Exception classes
m.add(
"ConsumerClientError",
m.py().get_type::<consumer::ConsumerClientError>(),
)?;
m.add(
"ProducerClientError",
m.py().get_type::<producer::ProducerClientError>(),
)?;
// Top-level functions
Ok(())
}