1use std::{future::Future, sync::Arc};
2
3use crate::{actor::ActorMeta, addr::Addr, scope::ScopeGroupShared, trace_id::TraceId};
4
5#[deprecated(note = "use `elfo::scope::trace_id()` instead")]
6pub fn trace_id() -> TraceId {
7 crate::scope::trace_id()
8}
9
10#[deprecated(note = "use `elfo::scope::try_trace_id()` instead")]
11pub fn try_trace_id() -> Option<TraceId> {
12 crate::scope::try_trace_id()
13}
14
15#[deprecated(note = "use `elfo::scope::set_trace_id()` instead")]
16pub fn set_trace_id(trace_id: TraceId) {
17 crate::scope::set_trace_id(trace_id);
18}
19
20#[deprecated(note = "use `elfo::scope::meta()` instead")]
21pub fn meta() -> Arc<ActorMeta> {
22 crate::scope::meta()
23}
24
25#[deprecated(note = "use `elfo::scope::try_meta()` instead")]
26pub fn try_meta() -> Option<Arc<ActorMeta>> {
27 crate::scope::try_meta()
28}
29
30#[deprecated(note = "use `elfo::scope` instead")]
31pub async fn scope<F: Future>(meta: Arc<ActorMeta>, trace_id: TraceId, f: F) -> F::Output {
32 #[allow(deprecated)]
33 let scope = make_stupid_scope(meta);
34 scope.set_trace_id(trace_id);
35 scope.within(f).await
36}
37
38#[deprecated(note = "use `elfo::scope` instead")]
39pub fn sync_scope<R>(meta: Arc<ActorMeta>, trace_id: TraceId, f: impl FnOnce() -> R) -> R {
40 #[allow(deprecated)]
41 let scope = make_stupid_scope(meta);
42 scope.set_trace_id(trace_id);
43 scope.sync_within(f)
44}
45
46fn make_stupid_scope(meta: Arc<ActorMeta>) -> crate::scope::Scope {
47 crate::scope::Scope::new(
48 crate::scope::trace_id(),
49 Addr::NULL,
50 meta,
51 Arc::new(ScopeGroupShared::new(Addr::NULL)),
52 )
53}