diff options
author | Eric Eastwood <erice@element.io> | 2022-09-20 18:04:30 -0500 |
---|---|---|
committer | Eric Eastwood <erice@element.io> | 2022-09-20 18:04:30 -0500 |
commit | 05e511368bb65f08e700bba141a702595436e14d (patch) | |
tree | 98f408d69c51288e81bf3ba16c69c960e5e27794 /rust/src/lib.rs | |
parent | Remove debug logs (diff) | |
parent | Merge branch 'develop' into madlittlemods/11850-migrate-to-opentelemetry (diff) | |
download | synapse-05e511368bb65f08e700bba141a702595436e14d.tar.xz |
Merge branch 'madlittlemods/11850-migrate-to-opentelemetry' into madlittlemods/13356-messages-investigation-scratch-v1
Conflicts: poetry.lock synapse/handlers/federation.py
Diffstat (limited to 'rust/src/lib.rs')
-rw-r--r-- | rust/src/lib.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/rust/src/lib.rs b/rust/src/lib.rs new file mode 100644 index 0000000000..c7b60e58a7 --- /dev/null +++ b/rust/src/lib.rs @@ -0,0 +1,31 @@ +use pyo3::prelude::*; + +pub mod push; + +/// Returns the hash of all the rust source files at the time it was compiled. +/// +/// Used by python to detect if the rust library is outdated. +#[pyfunction] +fn get_rust_file_digest() -> &'static str { + env!("SYNAPSE_RUST_DIGEST") +} + +/// Formats the sum of two numbers as string. +#[pyfunction] +#[pyo3(text_signature = "(a, b, /)")] +fn sum_as_string(a: usize, b: usize) -> PyResult<String> { + Ok((a + b).to_string()) +} + +/// The entry point for defining the Python module. +#[pymodule] +fn synapse_rust(py: Python<'_>, m: &PyModule) -> PyResult<()> { + pyo3_log::init(); + + m.add_function(wrap_pyfunction!(sum_as_string, m)?)?; + m.add_function(wrap_pyfunction!(get_rust_file_digest, m)?)?; + + push::register_module(py, m)?; + + Ok(()) +} |