use array_format::{ArrayFile, FileConfig, FillValue, InMemoryStorage, NoCompression};
use ndarray::Array;
#[tokio::main]
async fn main() {
let mut file = ArrayFile::create_memory(FileConfig::new(NoCompression))
.await
.unwrap();
file.define_array::<i32>(
"sensor",
vec!["x".into()],
vec![8],
Some(vec![4]),
Some(FillValue::Int(-999)),
)
.unwrap();
let data = Array::from_vec(vec![10i32, 20, 30, 40]).into_dyn();
file.write_array("sensor", vec![0], data.view())
.await
.unwrap();
let ov = InMemoryStorage::new();
file.flush_memory(&ov).await.unwrap();
let out = file
.read_array::<i32>("sensor", vec![], vec![])
.await
.unwrap();
println!("sensor = {:?}", out.as_slice().unwrap());
assert_eq!(out.as_slice().unwrap()[4..], [-999, -999, -999, -999]);
}