Mercurial > public > mercurial-scm > hg-stable
diff hgext/remotefilelog/fileserverclient.py @ 47914:c424ff4807e6
wireprotov1peer: update all rpcs to use the new batchable scheme
If desired, we could keep the future class and the function that
upgrades an old style rpc instead of a new style, for extensions.
Differential Revision: https://phab.mercurial-scm.org/D11212
author | Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> |
---|---|
date | Tue, 24 Aug 2021 17:27:16 +0200 |
parents | 102a50746bc5 |
children | 6000f5b25c9b |
line wrap: on
line diff
--- a/hgext/remotefilelog/fileserverclient.py Tue Aug 24 17:27:16 2021 +0200 +++ b/hgext/remotefilelog/fileserverclient.py Tue Aug 24 17:27:16 2021 +0200 @@ -63,12 +63,14 @@ raise error.Abort( b'configured remotefile server does not support getfile' ) - f = wireprotov1peer.future() - yield {b'file': file, b'node': node}, f - code, data = f.value.split(b'\0', 1) - if int(code): - raise error.LookupError(file, node, data) - yield data + + def decode(d): + code, data = d.split(b'\0', 1) + if int(code): + raise error.LookupError(file, node, data) + return data + + return {b'file': file, b'node': node}, decode @wireprotov1peer.batchable def x_rfl_getflogheads(self, path): @@ -77,10 +79,11 @@ b'configured remotefile server does not ' b'support getflogheads' ) - f = wireprotov1peer.future() - yield {b'path': path}, f - heads = f.value.split(b'\n') if f.value else [] - yield heads + + def decode(d): + return d.split(b'\n') if d else [] + + return {b'path': path}, decode def _updatecallstreamopts(self, command, opts): if command != b'getbundle':