summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_disk_queue.erl15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/rabbit_disk_queue.erl b/src/rabbit_disk_queue.erl
index 62d53eee7e..0f08b04c0d 100644
--- a/src/rabbit_disk_queue.erl
+++ b/src/rabbit_disk_queue.erl
@@ -1942,14 +1942,13 @@ read_message_from_disk(FileHdl, TotalSize) ->
MsgIdBinSize:?INTEGER_SIZE_BITS,
Rest:TotalSizeWriteOkBytes/binary>>} ->
BodySize = TotalSize - MsgIdBinSize,
- case Rest of
- <<_MsgId:MsgIdBinSize/binary, MsgBody:BodySize/binary,
- ?WRITE_OK_TRANSIENT:?WRITE_OK_SIZE_BITS>> ->
- {ok, {MsgBody, false, BodySize}};
- <<_MsgId:MsgIdBinSize/binary, MsgBody:BodySize/binary,
- ?WRITE_OK_PERSISTENT:?WRITE_OK_SIZE_BITS>> ->
- {ok, {MsgBody, true, BodySize}}
- end;
+ <<_MsgId:MsgIdBinSize/binary, MsgBody:BodySize/binary,
+ StopByte:?WRITE_OK_SIZE_BITS>> = Rest,
+ Persistent = case StopByte of
+ ?WRITE_OK_TRANSIENT -> false;
+ ?WRITE_OK_PERSISTENT -> true
+ end,
+ {ok, {MsgBody, Persistent, BodySize}};
KO -> KO
end.