diff options
| author | Matthias Radestock <matthias@lshift.net> | 2010-05-15 19:31:25 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@lshift.net> | 2010-05-15 19:31:25 +0100 |
| commit | 71bd30bc9e5a7f5701e35179bf5703fbbccbab24 (patch) | |
| tree | 039c233e4c0b26302d460e034b582482139fc7d2 /src | |
| parent | 2ea02e900f282ae61eadee19798fd562e88f8743 (diff) | |
| download | rabbitmq-server-git-71bd30bc9e5a7f5701e35179bf5703fbbccbab24.tar.gz | |
tweak
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_queue_index.erl | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl index 6788debe71..1207c9517e 100644 --- a/src/rabbit_queue_index.erl +++ b/src/rabbit_queue_index.erl @@ -865,10 +865,7 @@ bool_to_int(false) -> 0. journal_plus_segment(JEntries, SegEntries) -> array:sparse_foldl( fun (RelSeq, JObj, SegEntriesOut) -> - SegEntry = case array:get(RelSeq, SegEntriesOut) of - undefined -> not_found; - SObj = {_, _, _} -> SObj - end, + SegEntry = array:get(RelSeq, SegEntriesOut), case journal_plus_segment1(JObj, SegEntry) of undefined -> array:reset(RelSeq, SegEntriesOut); Obj -> array:set(RelSeq, Obj, SegEntriesOut) @@ -879,11 +876,11 @@ journal_plus_segment(JEntries, SegEntries) -> %% only in the journal), modifying in (bits in both), or, when %% returning 'undefined', erasing from (ack in journal, not segment) %% the segment array. -journal_plus_segment1({?PUB, no_del, no_ack} = Obj, not_found) -> +journal_plus_segment1({?PUB, no_del, no_ack} = Obj, undefined) -> Obj; -journal_plus_segment1({?PUB, del, no_ack} = Obj, not_found) -> +journal_plus_segment1({?PUB, del, no_ack} = Obj, undefined) -> Obj; -journal_plus_segment1({?PUB, del, ack}, not_found) -> +journal_plus_segment1({?PUB, del, ack}, undefined) -> undefined; journal_plus_segment1({no_pub, del, no_ack}, {?PUB = Pub, no_del, no_ack}) -> @@ -899,10 +896,7 @@ journal_plus_segment1({no_pub, no_del, ack}, {?PUB, del, no_ack}) -> journal_minus_segment(JEntries, SegEntries) -> array:sparse_foldl( fun (RelSeq, JObj, {JEntriesOut, PubsRemoved, AcksRemoved}) -> - SegEntry = case array:get(RelSeq, SegEntries) of - undefined -> not_found; - SObj = {_, _, _} -> SObj - end, + SegEntry = array:get(RelSeq, SegEntries), {Obj, PubsRemovedDelta, AcksRemovedDelta} = journal_minus_segment1(JObj, SegEntry), {case Obj of @@ -927,7 +921,7 @@ journal_minus_segment1({?PUB, _Del, ack} = Obj, Obj) -> {undefined, 1, 1}; %% Just publish in journal -journal_minus_segment1({?PUB, no_del, no_ack} = Obj, not_found) -> +journal_minus_segment1({?PUB, no_del, no_ack} = Obj, undefined) -> {Obj, 0, 0}; %% Just deliver in journal @@ -943,7 +937,7 @@ journal_minus_segment1({no_pub, no_del, ack}, {?PUB, del, ack}) -> {undefined, 0, 0}; %% Publish and deliver in journal -journal_minus_segment1({?PUB, del, no_ack} = Obj, not_found) -> +journal_minus_segment1({?PUB, del, no_ack} = Obj, undefined) -> {Obj, 0, 0}; journal_minus_segment1({?PUB = Pub, del, no_ack}, {Pub, no_del, no_ack}) -> {{no_pub, del, no_ack}, 1, 0}; @@ -957,7 +951,7 @@ journal_minus_segment1({no_pub, del, ack}, {?PUB, del, ack}) -> {undefined, 0, 1}; %% Publish, deliver and ack in journal -journal_minus_segment1({?PUB, del, ack}, not_found) -> +journal_minus_segment1({?PUB, del, ack}, undefined) -> {undefined, 0, 0}; journal_minus_segment1({?PUB = Pub, del, ack}, {Pub, no_del, no_ack}) -> {{no_pub, del, ack}, 1, 0}; |
