mirror of
https://github.com/aljazceru/turso.git
synced 2026-01-31 13:54:27 +01:00
remove some explicit Arc<dyn File> references
This commit is contained in:
@@ -1929,9 +1929,9 @@ impl StreamingWalReader {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn begin_read_wal_frame_raw(
|
||||
pub fn begin_read_wal_frame_raw<F: File + ?Sized>(
|
||||
buffer_pool: &Arc<BufferPool>,
|
||||
io: &Arc<dyn File>,
|
||||
io: &F,
|
||||
offset: u64,
|
||||
complete: Box<ReadComplete>,
|
||||
) -> Result<Completion> {
|
||||
@@ -1942,8 +1942,8 @@ pub fn begin_read_wal_frame_raw(
|
||||
Ok(c)
|
||||
}
|
||||
|
||||
pub fn begin_read_wal_frame(
|
||||
io: &Arc<dyn File>,
|
||||
pub fn begin_read_wal_frame<F: File + ?Sized>(
|
||||
io: &F,
|
||||
offset: u64,
|
||||
buffer_pool: Arc<BufferPool>,
|
||||
complete: Box<ReadComplete>,
|
||||
@@ -2083,7 +2083,7 @@ pub fn prepare_wal_frame(
|
||||
(final_checksum, Arc::new(buffer))
|
||||
}
|
||||
|
||||
pub fn begin_write_wal_header(io: &Arc<dyn File>, header: &WalHeader) -> Result<Completion> {
|
||||
pub fn begin_write_wal_header<F: File + ?Sized>(io: &F, header: &WalHeader) -> Result<Completion> {
|
||||
tracing::trace!("begin_write_wal_header");
|
||||
let buffer = {
|
||||
let buffer = Buffer::new_temporary(WAL_HEADER_SIZE);
|
||||
|
||||
@@ -1126,7 +1126,7 @@ impl Wal for WalFile {
|
||||
shared.file.as_ref().unwrap().clone()
|
||||
};
|
||||
begin_read_wal_frame(
|
||||
&file,
|
||||
file.as_ref(),
|
||||
offset + WAL_FRAME_HEADER_SIZE as u64,
|
||||
buffer_pool,
|
||||
complete,
|
||||
@@ -1186,7 +1186,7 @@ impl Wal for WalFile {
|
||||
let shared = self.get_shared();
|
||||
assert!(shared.enabled.load(Ordering::SeqCst), "WAL must be enabled");
|
||||
let file = shared.file.as_ref().unwrap();
|
||||
let c = begin_read_wal_frame_raw(&self.buffer_pool, file, offset, complete)?;
|
||||
let c = begin_read_wal_frame_raw(&self.buffer_pool, file.as_ref(), offset, complete)?;
|
||||
Ok(c)
|
||||
}
|
||||
|
||||
@@ -1246,7 +1246,7 @@ impl Wal for WalFile {
|
||||
assert!(shared.enabled.load(Ordering::SeqCst), "WAL must be enabled");
|
||||
let file = shared.file.as_ref().unwrap();
|
||||
let c = begin_read_wal_frame(
|
||||
file,
|
||||
file.as_ref(),
|
||||
offset + WAL_FRAME_HEADER_SIZE as u64,
|
||||
buffer_pool,
|
||||
complete,
|
||||
@@ -1448,7 +1448,7 @@ impl Wal for WalFile {
|
||||
let shared = self.get_shared();
|
||||
assert!(shared.enabled.load(Ordering::SeqCst), "WAL must be enabled");
|
||||
let file = shared.file.as_ref().unwrap();
|
||||
let c = sqlite3_ondisk::begin_write_wal_header(file, &shared.wal_header.lock())?;
|
||||
let c = sqlite3_ondisk::begin_write_wal_header(file.as_ref(), &shared.wal_header.lock())?;
|
||||
Ok(Some(c))
|
||||
}
|
||||
|
||||
@@ -2245,7 +2245,7 @@ impl WalFile {
|
||||
assert!(shared.enabled.load(Ordering::SeqCst), "WAL must be enabled");
|
||||
let file = shared.file.as_ref().unwrap();
|
||||
let c = begin_read_wal_frame(
|
||||
file,
|
||||
file.as_ref(),
|
||||
offset + WAL_FRAME_HEADER_SIZE as u64,
|
||||
self.buffer_pool.clone(),
|
||||
complete,
|
||||
|
||||
@@ -418,15 +418,15 @@ impl BTreeGenerator<'_> {
|
||||
assert_eq!(file.size().unwrap(), 4096 * 2);
|
||||
for (i, page) in pages.iter().enumerate() {
|
||||
let page = self.create_page(page, &page_numbers);
|
||||
write_at(&io, file.clone(), 4096 * (i + 1), &page);
|
||||
write_at(&io, file.as_ref(), 4096 * (i + 1), &page);
|
||||
}
|
||||
let size = 1 + pages.len();
|
||||
let size_bytes = U32::new(size as u32).to_bytes();
|
||||
write_at(&io, file, 28, &size_bytes);
|
||||
write_at(&io, file.as_ref(), 28, &size_bytes);
|
||||
}
|
||||
}
|
||||
|
||||
fn write_at(io: &impl IO, file: Arc<dyn File>, offset: usize, data: &[u8]) {
|
||||
fn write_at<F: File + ?Sized>(io: &impl IO, file: &F, offset: usize, data: &[u8]) {
|
||||
#[allow(clippy::arc_with_non_send_sync)]
|
||||
let buffer = Arc::new(Buffer::new(data.to_vec()));
|
||||
let _buf = buffer.clone();
|
||||
|
||||
Reference in New Issue
Block a user