zenoh_shm/api/provider/
chunk.rs1use std::num::NonZeroUsize;
16
17use crate::api::common::types::{ChunkID, PtrInSegment, SegmentID};
18
19#[zenoh_macros::unstable_doc]
21#[derive(Clone, Debug, PartialEq, Eq)]
22#[stabby::stabby]
23pub struct ChunkDescriptor {
24 pub segment: SegmentID,
25 pub chunk: ChunkID,
26 pub len: NonZeroUsize,
27}
28
29impl ChunkDescriptor {
30 #[zenoh_macros::unstable_doc]
32 pub fn new(segment: SegmentID, chunk: ChunkID, len: NonZeroUsize) -> Self {
33 Self {
34 segment,
35 chunk,
36 len,
37 }
38 }
39}
40
41#[zenoh_macros::unstable_doc]
43pub struct AllocatedChunk {
44 pub descriptor: ChunkDescriptor,
45 pub data: PtrInSegment,
46}
47
48impl AllocatedChunk {
49 #[zenoh_macros::unstable_doc]
51 pub fn new(descriptor: ChunkDescriptor, data: PtrInSegment) -> Self {
52 Self { descriptor, data }
53 }
54}