Move concrete Cursor definitions on top
This commit is contained in:
parent
017f34bafa
commit
dac888dc51
1 changed files with 19 additions and 17 deletions
|
|
@ -15,6 +15,25 @@ use crate::entry_header::{EntryHeaderWithDataSize, EntryHeader};
|
|||
use crate::store_header::StoreHeader;
|
||||
use crate::storage_engine::{Store, FilePosition, Column, Result, ROWS_FILE_NAME, GARBAGE_COLLECTION_INTERMEDIATE_ROWS_FILE_NAME};
|
||||
|
||||
// ===Concrete Cursors===
|
||||
pub struct ReadCursor<T> {
|
||||
header: StoreHeader,
|
||||
file: File,
|
||||
data_type: PhantomData<T>,
|
||||
|
||||
eof_file_position: FilePosition,
|
||||
}
|
||||
|
||||
pub struct WriteCursor<'a, T> {
|
||||
header: &'a mut StoreHeader,
|
||||
file: File,
|
||||
data_type: PhantomData<T>,
|
||||
|
||||
eof_file_position: FilePosition,
|
||||
}
|
||||
|
||||
|
||||
// ===Traits===
|
||||
#[async_trait]
|
||||
// TODO: Make this private
|
||||
pub trait PrimitiveCursor<T> {
|
||||
|
|
@ -206,23 +225,6 @@ pub trait CursorWithStoreHeader<T>: PrimitiveCursor<T> {
|
|||
}
|
||||
|
||||
|
||||
// ===Concrete Cursors===
|
||||
pub struct ReadCursor<T> {
|
||||
header: StoreHeader,
|
||||
file: File,
|
||||
data_type: PhantomData<T>,
|
||||
|
||||
eof_file_position: FilePosition,
|
||||
}
|
||||
|
||||
pub struct WriteCursor<'a, T> {
|
||||
header: &'a mut StoreHeader,
|
||||
file: File,
|
||||
data_type: PhantomData<T>,
|
||||
|
||||
eof_file_position: FilePosition,
|
||||
}
|
||||
|
||||
// ===PrimitiveCursor===
|
||||
impl <T>PrimitiveCursor<T> for ReadCursor<T> {
|
||||
fn file(&mut self) -> &mut File {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue