@@ -29,6 +29,7 @@ use crate::base::compaction_append_msg_callback::CompactionAppendMsgCallback;
29
29
use crate :: base:: message_result:: AppendMessageResult ;
30
30
use crate :: base:: put_message_context:: PutMessageContext ;
31
31
use crate :: base:: select_result:: SelectMappedBufferResult ;
32
+ use crate :: base:: transient_store_pool:: TransientStorePool ;
32
33
use crate :: config:: flush_disk_type:: FlushDiskType ;
33
34
34
35
pub mod default_mapped_file_impl;
@@ -597,3 +598,76 @@ pub trait MappedFile {
597
598
/// `true` if the specified range is loaded into memory; `false` otherwise.
598
599
fn is_loaded ( & self , position : i64 , size : usize ) -> bool ;
599
600
}
601
+
602
+ pub trait MappedFileRefactor {
603
+ fn get_file_name ( & self ) -> & CheetahString ;
604
+ fn rename_to ( & self , file_name : & CheetahString ) -> bool ;
605
+ fn get_file_size ( & self ) -> usize ;
606
+ //fn get_file_channel(&self) -> &File;
607
+ fn is_full ( & self ) -> bool ;
608
+ fn is_available ( & self ) -> bool ;
609
+
610
+ fn append_message < AMC : AppendMessageCallback > (
611
+ & self ,
612
+ message : & MessageExtBrokerInner ,
613
+ message_callback : AMC ,
614
+ put_message_context : & PutMessageContext ,
615
+ ) -> AppendMessageResult ;
616
+
617
+ fn append_messages < AMC : AppendMessageCallback > (
618
+ & self ,
619
+ message : & MessageExtBatch ,
620
+ message_callback : AMC ,
621
+ put_message_context : & PutMessageContext ,
622
+ ) -> AppendMessageResult ;
623
+
624
+ fn append_message_with_callback (
625
+ & self ,
626
+ byte_buffer_msg : & [ u8 ] ,
627
+ cb : & dyn CompactionAppendMsgCallback ,
628
+ ) -> AppendMessageResult ;
629
+
630
+ fn append_message_bytes ( & self , data : & [ u8 ] ) -> bool ;
631
+ fn append_message_with_offset ( & self , data : & [ u8 ] , offset : usize , length : usize ) -> bool ;
632
+ fn get_file_from_offset ( & self ) -> u64 ;
633
+ fn flush ( & self , flush_least_pages : usize ) -> usize ;
634
+ fn commit ( & self , commit_least_pages : usize ) -> usize ;
635
+ fn select_mapped_buffer ( & self , pos : usize , size : usize ) -> Option < SelectMappedBufferResult > ;
636
+ fn select_mapped_buffer_with_position ( & self , pos : usize ) -> Option < SelectMappedBufferResult > ;
637
+ fn get_mapped_byte_buffer ( & self ) -> & [ u8 ] ;
638
+ fn slice_byte_buffer ( & self ) -> & [ u8 ] ;
639
+ fn get_store_timestamp ( & self ) -> u64 ;
640
+ fn get_last_modified_timestamp ( & self ) -> u64 ;
641
+ fn get_data ( & self , pos : usize , size : usize , byte_buffer : & mut [ u8 ] ) -> bool ;
642
+ fn destroy ( & self , interval_forcibly : u64 ) -> bool ;
643
+ fn shutdown ( & self , interval_forcibly : u64 ) ;
644
+ fn release ( & self ) ;
645
+ fn hold ( & self ) -> bool ;
646
+ fn is_first_create_in_queue ( & self ) -> bool ;
647
+ fn set_first_create_in_queue ( & self , first_create_in_queue : bool ) ;
648
+ fn get_flushed_position ( & self ) -> usize ;
649
+ fn set_flushed_position ( & self , flushed_position : usize ) ;
650
+ fn get_wrote_position ( & self ) -> usize ;
651
+ fn set_wrote_position ( & self , wrote_position : usize ) ;
652
+ fn get_read_position ( & self ) -> usize ;
653
+ fn set_committed_position ( & self , committed_position : usize ) ;
654
+ fn m_lock ( & self ) ;
655
+ fn m_unlock ( & self ) ;
656
+ fn warm_mapped_file ( & self , type_ : FlushDiskType , pages : usize ) ;
657
+ fn swap_map ( & self ) -> bool ;
658
+ fn clean_swapped_map ( & self , force : bool ) ;
659
+ fn get_recent_swap_map_time ( & self ) -> u64 ;
660
+ fn get_mapped_byte_buffer_access_count_since_last_swap ( & self ) -> u64 ;
661
+ fn get_file ( & self ) -> & File ;
662
+ fn rename_to_delete ( & mut self ) ;
663
+ fn move_to_parent ( & self ) -> io:: Result < ( ) > ;
664
+ fn get_last_flush_time ( & self ) -> u64 ;
665
+ fn init (
666
+ & self ,
667
+ file_name : & str ,
668
+ file_size : usize ,
669
+ transient_store_pool : & TransientStorePool ,
670
+ ) -> io:: Result < ( ) > ;
671
+ fn iterator ( & self , pos : usize ) -> Box < dyn Iterator < Item = SelectMappedBufferResult > > ;
672
+ fn is_loaded ( & self , position : u64 , size : usize ) -> bool ;
673
+ }
0 commit comments