Skip to content

Commit 8642be5

Browse files
AlexanderShekhovcovashcherbakov
authored andcommitted
Fix batching (hyperledger#369)
1 parent cb7d068 commit 8642be5

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

plenum/common/batched.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def send(self, msg: Any, *
6464
# Signing (if required) and serializing before enqueueing otherwise
6565
# each call to `_enqueue` will have to sign it and `transmit` will try
6666
# to serialize it which is waste of resources
67-
serializedPayload, err_msg = self.signAndSerialize(msg, signer)
67+
serializedPayload, err_msg = self.signSerializeAndCheckLen(msg, signer)
6868
if serializedPayload is None:
6969
return False, err_msg
7070

@@ -131,7 +131,7 @@ def flushOutBoxes(self) -> None:
131131

132132
def _make_batch(self, msgs):
133133
batch = Batch(msgs, None)
134-
serialized_batch, _ = self.signAndSerialize(batch)
134+
serialized_batch = self.sign_and_serialize(batch)
135135
return serialized_batch
136136

137137
def _test_batch_len(self, batch_len):
@@ -152,9 +152,8 @@ def doProcessReceived(self, msg, frm, ident):
152152
msg[f.MSGS.nm] = relevantMsgs
153153
return msg
154154

155-
def signAndSerialize(self, msg, signer=None):
156-
payload = self.prepForSending(msg, signer)
157-
msg_bytes = self.serializeMsg(payload)
155+
def signSerializeAndCheckLen(self, msg, signer=None):
156+
msg_bytes = self.sign_and_serialize(msg, signer)
158157
err_msg = None
159158
try:
160159
self.msg_len_val.validate(msg_bytes)
@@ -163,3 +162,8 @@ def signAndSerialize(self, msg, signer=None):
163162
logger.warning(err_msg)
164163
msg_bytes = None
165164
return msg_bytes, err_msg
165+
166+
def sign_and_serialize(self, msg, signer=None):
167+
payload = self.prepForSending(msg, signer)
168+
msg_bytes = self.serializeMsg(payload)
169+
return msg_bytes

plenum/test/client/test_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ def testReplyWhenRequestAlreadyExecuted(looper, nodeSet, client1, sent1):
206206

207207
originalRequestResponsesLen = nodeCount * 2
208208
duplicateRequestRepliesLen = nodeCount # for a duplicate request we need to
209-
serializedPayload, _ = client1.nodestack.signAndSerialize(sent1, None)
209+
serializedPayload, _ = client1.nodestack.signSerializeAndCheckLen(sent1, None)
210210
client1.nodestack._enqueueIntoAllRemotes(serializedPayload, None)
211211

212212
def chk():

0 commit comments

Comments
 (0)