@@ -28,6 +28,7 @@ use std::sync::Arc;
2828
2929use bytes:: Bytes ;
3030use bytes:: BytesMut ;
31+ use cheetah_string:: CheetahString ;
3132use memmap2:: MmapMut ;
3233use rocketmq_common:: common:: message:: message_batch:: MessageExtBatch ;
3334use rocketmq_common:: common:: message:: message_ext_broker_inner:: MessageExtBrokerInner ;
@@ -58,7 +59,7 @@ pub struct DefaultMappedFile {
5859 file : File ,
5960 mmapped_file : SyncUnsafeCellWrapper < MmapMut > ,
6061 transient_store_pool : Option < TransientStorePool > ,
61- file_name : String ,
62+ file_name : CheetahString ,
6263 file_from_offset : u64 ,
6364 mapped_byte_buffer : Option < bytes:: Bytes > ,
6465 wrote_position : AtomicI32 ,
@@ -94,14 +95,14 @@ impl PartialEq for DefaultMappedFile {
9495
9596impl Default for DefaultMappedFile {
9697 fn default ( ) -> Self {
97- Self :: new ( String :: new ( ) , 0 )
98+ Self :: new ( CheetahString :: new ( ) , 0 )
9899 }
99100}
100101
101102impl DefaultMappedFile {
102- pub fn new ( file_name : String , file_size : u64 ) -> Self {
103+ pub fn new ( file_name : CheetahString , file_size : u64 ) -> Self {
103104 let file_from_offset = Self :: get_file_from_offset ( & file_name) ;
104- let path_buf = PathBuf :: from ( file_name. clone ( ) ) ;
105+ let path_buf = PathBuf :: from ( file_name. as_str ( ) ) ;
105106 ensure_dir_ok ( path_buf. parent ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) ) ;
106107 let file = OpenOptions :: new ( )
107108 . read ( true )
@@ -140,8 +141,8 @@ impl DefaultMappedFile {
140141 }
141142 }
142143
143- fn get_file_from_offset ( file_name : & String ) -> u64 {
144- let file_from_offset = PathBuf :: from ( file_name. to_owned ( ) )
144+ fn get_file_from_offset ( file_name : & CheetahString ) -> u64 {
145+ let file_from_offset = PathBuf :: from ( file_name. as_str ( ) )
145146 . file_name ( )
146147 . unwrap ( )
147148 . to_str ( )
@@ -151,8 +152,8 @@ impl DefaultMappedFile {
151152 file_from_offset
152153 }
153154
154- fn build_file ( file_name : & String , file_size : u64 ) -> File {
155- let path = PathBuf :: from ( file_name. clone ( ) ) ;
155+ fn build_file ( file_name : & CheetahString , file_size : u64 ) -> File {
156+ let path = PathBuf :: from ( file_name. as_str ( ) ) ;
156157 let file = OpenOptions :: new ( )
157158 . read ( true )
158159 . write ( true )
@@ -166,12 +167,12 @@ impl DefaultMappedFile {
166167 }
167168
168169 pub fn new_with_transient_store_pool (
169- file_name : String ,
170+ file_name : CheetahString ,
170171 file_size : u64 ,
171172 transient_store_pool : TransientStorePool ,
172173 ) -> Self {
173174 let file_from_offset = Self :: get_file_from_offset ( & file_name) ;
174- let path_buf = PathBuf :: from ( file_name. clone ( ) ) ;
175+ let path_buf = PathBuf :: from ( file_name. as_str ( ) ) ;
175176 let file = OpenOptions :: new ( )
176177 . read ( true )
177178 . write ( true )
@@ -212,8 +213,8 @@ impl DefaultMappedFile {
212213
213214#[ allow( unused_variables) ]
214215impl MappedFile for DefaultMappedFile {
215- fn get_file_name ( & self ) -> String {
216- self . file_name . clone ( )
216+ fn get_file_name ( & self ) -> & CheetahString {
217+ & self . file_name
217218 }
218219
219220 fn rename_to ( & mut self , file_name : & str ) -> bool {
0 commit comments