use crate::backend::ShmStorage;
use crate::error::Result;
use crate::header::{validate_capacity, HEADER_SIZE};
use crate::options::Options;
use crate::{Reader, Writer};
pub fn create_shm(name: &str, capacity: u64, options: Options) -> Result<Writer<ShmStorage>> {
validate_capacity(capacity)?;
let st = ShmStorage::create(name, HEADER_SIZE + capacity)?;
Writer::new(st, capacity, options)
}
pub fn open_shm(name: &str, capacity: u64, options: Options) -> Result<Reader<ShmStorage>> {
validate_capacity(capacity)?;
let st = ShmStorage::open(name, HEADER_SIZE + capacity)?;
Reader::new(st, capacity, options)
}