#![allow(clippy::too_many_arguments, clippy::unused_async)]
use rustler::{Encoder, LocalPid, NifResult, OwnedEnv, ResourceArc, types::atom::Atom};
use rustler::Error as NifError;
use std::collections::HashMap;
use std::sync::Arc;
use std::sync::atomic::{AtomicU64, Ordering};
use std::sync::{Mutex, OnceLock};
use {{ core_import }}::*;
/// Atom constants used by the service NIFs.
mod atoms {
rustler::atoms! {
ok,
error,
trait_call,
}
}
static REPLY_ID_COUNTER: AtomicU64 = AtomicU64::new(0);