use crate::server::{ComputeServer, Handle};
use alloc::vec::Vec;
use burn_common::reader::Reader;
pub trait ComputeChannel<Server: ComputeServer>: Clone + core::fmt::Debug + Send + Sync {
fn read(&self, handle: &Handle<Server>) -> Reader<Vec<u8>>;
fn create(&self, data: &[u8]) -> Handle<Server>;
fn empty(&self, size: usize) -> Handle<Server>;
fn execute(&self, kernel: Server::Kernel, handles: &[&Handle<Server>]);
fn sync(&self);
}