RFC: Chunking for rpc in protocol
Context
Fixes #1478 (closed)
TL;DR: currently all protocol RPCs are answered chunk because some protocol RPCs benefit from it; this MR gives more granularity.
Open questions:
- Should the default be chunked (
?(chunked = true)
) and then we use~chunked:false
?- It should default to
false
because for most of the entry points that's the least expensive of the two (in terms of performance) but it should default totrue
because that's the form with the least degenerate case performance. Basically,false
is better in most cases but it can be much much worse in a few cases. - The protocol becomes set in stone once injected. Consequently, it's ok if we have a few
true
where we should havefalse
(it's a small performance cost when performing protocol-related RPCs) but it's not ok to have afalse
where we need atrue
(it's a significant performance cost). If we forget atrue
then we might need to override everything totrue
at the environment level.
- It should default to
- Is the current set of chunked/non-chunked RPCs correct?
Manually testing the MR
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rst
for the protocol and the environment, theDevelopment Version
section ofCHANGES.md
for everything else). -
Select suitable reviewers using the Reviewers
field below. -
Select as Assignee
the next person who should take action on that MR
Edited by Raphaël Proust