-
Feature Request
-
Resolution: Unresolved
-
Major
-
None
-
None
For 2 sync RPCs between A and B, we have the following message exchange:
1: A --> DATA(15) --> B // A sends the first request to B
2: A <-- ACK(15) <-- B // B acks the request
3: A <-- DATA(27) <-- B // B sends the response to A
4: A --> ACK(27) --> B // A acks the response
5: A --> DATA(16) --> B // A sends the second request to B
6: A <-- ACK(16) <-- B // B acks the request
7: A <-- DATA(28) <-- B // B sends the response to A
8: A --> ACK(28) --> B // A acks the response
If we piggybacked acks, this would look as follows:
1: A --> DATA(15) --> B // A sends the first request to B
2: A <-- DATA-ACK(27,15) <-- B // B sends the response to A and acks A's request
3: A --> DATA(16,27) --> B // A sends the second request to B and acks B's response
4: A <-- DATA(28,16) <-- B // B sends the response to A and acks A's request
5: A --> ACK(28) --> B // A acks the response
So instead of 8 exchanges, we have 5. Note, however, that message bundling might mitigate this somewhat and not send 8 requests ! This needs to be investigated further.