Conversation
…y to signal a lack of interest in an ACK response.
…th a default of 1000, which was good for about 4000 fire-and-forget requests before the buffer ran out.
weren't necessary.
… the absence of a response could also be requested by the client.
tylertucker202
left a comment
There was a problem hiding this comment.
I'm seeing a lot of repeated code. Would it be possible to implement a function here?
def get_reply(message):
try:
reply = message.payload.reply
except SomeExpectedException:
reply = True
return reply
Then you can reuse this method wherever.
contents but I missed a few of the names.
|
I'm leaning towards setting up the logic as a property in the Payload class, which would eliminate the need to carry the what's a reasonable-default logic around. |
|
That looks cleaner to me. I still need to test it more thoroughly, then I'll move it out of draft status. |
|
Tests check out, there doesn't appear to be a performance impact from handling the 'reply' attribute as a property. |
|
The suggestion at today's discussion was that this functionality needs to be in the envelope as a 'flags' field rather than in the payload. |
'no reply' behavior.
way as 'no reply' is handled.
no-ack and no-reply.
|
OK, this feature is now working purely from the envelope and not involving the payload at all. I thought there was a reason why the payload had to carry around the 'no reply' status, but I'm not seeing it any more-- and it works fine without it. |
This pull request disables all responses from the server that would normally be triggered in response to a SET request. If a normal blocking SET request can be issued 5000 times per second, a client not waiting for a full response can instead issue 5500 requests per second, a client not waiting for any response can issue 40000 requests per second.