diff options
author | Matthew Sackman <matthew@lshift.net> | 2009-09-23 15:11:48 +0100 |
---|---|---|
committer | Matthew Sackman <matthew@lshift.net> | 2009-09-23 15:11:48 +0100 |
commit | ddc6b1c6377fc42b4a659c2f57598ce3f6418bf4 (patch) | |
tree | 3d16b9e03baf15fc41df4a2347512379cdd17947 | |
parent | 4a255a212190f52679e275eb763dd68c1bf87599 (diff) | |
download | rabbitmq-server-ddc6b1c6377fc42b4a659c2f57598ce3f6418bf4.tar.gz |
overload open_file so it can cope with filenumbers and names, plus associated minor refactorings
-rw-r--r-- | src/rabbit_msg_store.erl | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl index 9bafe659..c29ecddb 100644 --- a/src/rabbit_msg_store.erl +++ b/src/rabbit_msg_store.erl @@ -271,8 +271,7 @@ init(Dir, FileSizeLimit, ReadFileHandlesLimit, build_index(Files, State), %% read is only needed so that we can seek - {ok, FileHdl} = open_file(Dir, filenum_to_name(CurFile), - ?WRITE_MODE ++ [read]), + {ok, FileHdl} = open_file(Dir, CurFile, ?WRITE_MODE ++ [read]), {ok, Offset} = file:position(FileHdl, Offset), State1 #msstate { current_file_handle = FileHdl }. @@ -425,6 +424,8 @@ filenum_to_name(File) -> integer_to_list(File) ++ ?FILE_EXTENSION. filename_to_num(FileName) -> list_to_integer(filename:rootname(FileName)). +open_file(Dir, FileNum, Mode) when is_integer(FileNum) -> + open_file(Dir, filenum_to_name(FileNum), Mode); open_file(Dir, FileName, Mode) -> file:open(form_filename(Dir, FileName), ?BINARY_MODE ++ Mode). @@ -774,7 +775,7 @@ maybe_roll_to_new_file(Offset, State1 = sync(State), ok = file:close(CurHdl), NextFile = CurFile + 1, - {ok, NextHdl} = open_file(Dir, filenum_to_name(NextFile), ?WRITE_MODE), + {ok, NextHdl} = open_file(Dir, NextFile, ?WRITE_MODE), true = ets:update_element(FileSummary, CurFile, {#file_summary.right, NextFile}), true = ets:insert_new( |