mod collections;
mod command;
mod config;
mod config_types;
mod io_helpers;
mod network;
mod path;
mod register;
mod time;
mod which;
pub use config::{
DEFAULT_COMMAND_MAX_OUTPUT_BYTES, DEFAULT_COMMAND_MAX_STREAM_BYTES, DEFAULT_COMMAND_TEMP_DIR,
DEFAULT_FETCH_CACHE_DIR, DEFAULT_FETCH_MAX_RESPONSE_BYTES, DEFAULT_WHICH_CACHE_CAPACITY,
NetworkConfig, StdlibConfig,
};
pub use network::{
HostPatternError, NetworkPolicy, NetworkPolicyConfigError, NetworkPolicyViolation,
};
pub(crate) use register::register_manifest_query;
pub use register::{register, register_with_config, value_from_bytes};
use std::{
sync::Arc,
sync::atomic::{AtomicBool, Ordering},
};
#[derive(Clone, Default, Debug)]
pub struct StdlibState {
impure: Arc<AtomicBool>,
}
impl StdlibState {
#[must_use]
pub fn is_impure(&self) -> bool {
self.impure.load(Ordering::Relaxed)
}
pub fn reset_impure(&self) {
self.impure.store(false, Ordering::Relaxed);
}
pub(crate) fn impure_flag(&self) -> Arc<AtomicBool> {
Arc::clone(&self.impure)
}
}