diff options
author | Matthias Radestock <matthias@lshift.net> | 2010-05-19 13:36:13 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@lshift.net> | 2010-05-19 13:36:13 +0100 |
commit | 762cb123c7ebf780a0a3534e7f2bc89ccbecd58f (patch) | |
tree | abef44e808473833802bdda6c9da6cda7a90d037 /src/rabbit_queue_index.erl | |
parent | ff988fb6b6cb00832b5650e5604dd52d9d087d66 (diff) | |
download | rabbitmq-server-762cb123c7ebf780a0a3534e7f2bc89ccbecd58f.tar.gz |
refactor
Diffstat (limited to 'src/rabbit_queue_index.erl')
-rw-r--r-- | src/rabbit_queue_index.erl | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl index 32ada569..acd13a06 100644 --- a/src/rabbit_queue_index.erl +++ b/src/rabbit_queue_index.erl @@ -590,23 +590,18 @@ flush_journal(State = #qistate { dirty_count = 0 }) -> flush_journal(State = #qistate { segments = Segments }) -> Segments1 = segment_fold( - fun (_Seg, #segment { journal_entries = JEntries, - unacked = UnackedCount } = Segment, - SegmentsN) -> - case UnackedCount of - 0 -> ok = delete_segment(Segment), - SegmentsN; - _ -> segment_store( - append_journal_to_segment(Segment, JEntries), - SegmentsN) - end + fun (_Seg, #segment { unacked = 0 } = Segment, SegmentsN) -> + ok = delete_segment(Segment), + SegmentsN; + (_Seg, #segment {} = Segment, SegmentsN) -> + segment_store(append_journal_to_segment(Segment), SegmentsN) end, segments_new(), Segments), {JournalHdl, State1} = get_journal_handle(State #qistate { segments = Segments1 }), ok = file_handle_cache:clear(JournalHdl), State1 #qistate { dirty_count = 0 }. -append_journal_to_segment(Segment, JEntries) -> +append_journal_to_segment(#segment { journal_entries = JEntries } = Segment) -> case array:sparse_size(JEntries) of 0 -> Segment; _ -> {Hdl, Segment1} = get_segment_handle(Segment), |