pub trait ResourceTable<State>where
State: ResourceRowState,{
Show 20 methods
// Required methods
fn capacity(&self) -> usize;
fn transfer_capacity(&self) -> usize;
fn part_capacity(&self) -> usize;
fn len(&self) -> usize;
fn link_ids(&self) -> &[LinkId];
fn hashes(&self) -> &[ResourceHash];
fn timeout_ats(&self) -> &[Option<InstantMillis>];
fn states(&self) -> &[State];
fn set_hash(&mut self, index: usize, hash: ResourceHash);
fn set_timeout_at(
&mut self,
index: usize,
timeout_at: Option<InstantMillis>,
);
fn state_mut(&mut self, index: usize) -> &mut State;
fn transfer(&self, index: usize) -> &[u8] ⓘ;
fn part_names(&self, index: usize) -> &[[u8; 4]];
fn part_flags(&self, index: usize) -> &[bool];
fn streamed_open(
&self,
index: usize,
) -> &<State as ResourceRowState>::StreamedOpenSlot;
fn buffers_mut(&mut self, index: usize) -> ResourceBuffers<'_>;
fn transfer_and_streamed_open_mut(
&mut self,
index: usize,
) -> (&mut [u8], &mut <State as ResourceRowState>::StreamedOpenSlot);
fn push(
&mut self,
link_id: LinkId,
hash: ResourceHash,
state: State,
) -> Result<usize, ResourceTablePushError>;
fn swap_remove(&mut self, index: usize);
// Provided method
fn is_empty(&self) -> bool { ... }
}Required Methods§
fn capacity(&self) -> usize
fn transfer_capacity(&self) -> usize
fn part_capacity(&self) -> usize
fn len(&self) -> usize
fn link_ids(&self) -> &[LinkId]
fn hashes(&self) -> &[ResourceHash]
fn timeout_ats(&self) -> &[Option<InstantMillis>]
fn states(&self) -> &[State]
fn set_hash(&mut self, index: usize, hash: ResourceHash)
fn set_timeout_at(&mut self, index: usize, timeout_at: Option<InstantMillis>)
fn state_mut(&mut self, index: usize) -> &mut State
fn transfer(&self, index: usize) -> &[u8] ⓘ
fn part_names(&self, index: usize) -> &[[u8; 4]]
fn part_flags(&self, index: usize) -> &[bool]
fn streamed_open( &self, index: usize, ) -> &<State as ResourceRowState>::StreamedOpenSlot
fn buffers_mut(&mut self, index: usize) -> ResourceBuffers<'_>
fn transfer_and_streamed_open_mut( &mut self, index: usize, ) -> (&mut [u8], &mut <State as ResourceRowState>::StreamedOpenSlot)
fn push( &mut self, link_id: LinkId, hash: ResourceHash, state: State, ) -> Result<usize, ResourceTablePushError>
fn swap_remove(&mut self, index: usize)
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".