Просмотр исходного кода

chore(dsrepl): simplify snapshot transfer code a bit

Co-Authored-By: Thales Macedo Garitezi <thalesmg@gmail.com>
Andrew Mayorov 1 год назад
Родитель
Сommit
7cebf598a8
1 измененных файлов с 4 добавлено и 4 удалено
  1. 4 4
      apps/emqx_durable_storage/src/emqx_ds_storage_snapshot.erl

+ 4 - 4
apps/emqx_durable_storage/src/emqx_ds_storage_snapshot.erl

@@ -145,11 +145,11 @@ read_chunk_file(RelPath, RFile0 = #rfile{fd = IoDev, pos = Pos, abspath = AbsPat
             ChunkSize = byte_size(Chunk),
             HasMore = ChunkSize div Size,
             RFile1 = RFile0#rfile{pos = Pos + ChunkSize},
-            case ChunkSize < Size of
-                false ->
+            case HasMore of
+                _Yes = 1 ->
                     Status = next,
                     RFile = RFile1;
-                true ->
+                _No = 0 ->
                     Status = last,
                     RFile = release_reader_file(RFile1)
             end,
@@ -315,7 +315,7 @@ make_packet(Header, Rest) ->
 parse_packet(Packet) ->
     try binary_to_term(Packet, [safe, used]) of
         {Header = ?PAT_HEADER(), Length} ->
-            Rest = binary:part(Packet, Length, byte_size(Packet) - Length),
+            {_, Rest} = split_binary(Packet, Length),
             {Header, Rest};
         {Header, _} ->
             {error, {bad_header, Header}}