use std::marker::PhantomData;
use std::time::Duration;
use chrono::{DateTime, Utc};
use crate::container::Engine;
use crate::sandbox::{Error as SandboxError, Instance as SandboxInstance, InstanceConfig};
pub struct Instance<E: Engine>(PhantomData<E>);
impl<E: Engine> SandboxInstance for Instance<E> {
type Engine = E;
fn new(_id: String, _cfg: Option<&InstanceConfig<Self::Engine>>) -> Result<Self, SandboxError> {
todo!();
}
fn start(&self) -> Result<u32, SandboxError> {
todo!();
}
fn kill(&self, _signal: u32) -> Result<(), SandboxError> {
todo!();
}
fn delete(&self) -> Result<(), SandboxError> {
todo!();
}
fn wait_timeout(&self, _t: impl Into<Option<Duration>>) -> Option<(u32, DateTime<Utc>)> {
todo!();
}
}