use crate::errors::*;
use crate::engine::ctx::State;
use crate::hlua;
use std::sync::Arc;

use std::sync::Mutex;
use std::thread;
use std::time::Duration;

pub struct Engine {
    pub(crate) state: Arc<Mutex<State>>,
    pub(crate) hlua: Arc<Mutex<hlua::Engine