Skip to content

Commit 5dea8f6

Browse files
committed
fix: get_response not resetting packet
1 parent ef0056d commit 5dea8f6

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/client.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ class RPCClient {
4040

4141
// blocking call
4242
while (!get_response(result)){
43-
decoder->decode();
4443
//delay(1);
4544
}
4645

src/decoder.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
#include "MsgPack.h"
55
#include "transport.h"
6-
#include "dispatcher.h"
76
#include "rpclite_utils.h"
87

98
using namespace RpcUtils::detail;
@@ -56,7 +55,8 @@ class RpcDecoder {
5655
MsgPack::Unpacker unpacker;
5756
unpacker.clear();
5857

59-
if (!unpacker.feed(_raw_buffer, get_packet_size())) return false;
58+
size_t res_size = get_packet_size();
59+
if (!unpacker.feed(_raw_buffer, res_size)) return false;
6060

6161
MsgPack::arr_size_t resp_size;
6262
int resp_type;
@@ -74,7 +74,8 @@ class RpcDecoder {
7474
if (!unpacker.deserialize(error, nil)) return false;
7575
}
7676

77-
consume(get_packet_size());
77+
reset_packet();
78+
consume(res_size);
7879
return true;
7980

8081
}

0 commit comments

Comments
 (0)