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::store_header::StoreHeader;
|
||||||
use crate::storage_engine::{Store, FilePosition, Column, Result, ROWS_FILE_NAME, GARBAGE_COLLECTION_INTERMEDIATE_ROWS_FILE_NAME};
|
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]
|
#[async_trait]
|
||||||
// TODO: Make this private
|
// TODO: Make this private
|
||||||
pub trait PrimitiveCursor<T> {
|
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===
|
// ===PrimitiveCursor===
|
||||||
impl <T>PrimitiveCursor<T> for ReadCursor<T> {
|
impl <T>PrimitiveCursor<T> for ReadCursor<T> {
|
||||||
fn file(&mut self) -> &mut File {
|
fn file(&mut self) -> &mut File {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue