##// END OF EJS Templates
wireproto: use CBOR for command requests...
wireproto: use CBOR for command requests Now that we're using CBOR in the new wire protocol, let's convert command requests to it. Before I wrote this patch and was even thinking about CBOR, I was thinking about how commands should be issued and came to the conclusion that we didn't need separate frames to represent the command name from its arguments. I already had a partially completed patch prepared to merge the frames. But with CBOR, it makes the implementation a bit simpler because we don't need to roll our own serialization. The changes here are a bit invasive. I tried to split this into multiple commits to make it easier to review. But it was just too hard. * "command name" and "command argument" frames have been collapsed into a "command request" frame. * The flags for this new frame are totally different. * Frame processing has been overhauled to reflect the new order of things. * Test fallout was significant. A handful of tests were removed. Altogether, I think the new code is simpler. We don't have complicated state around receiving commands. We're either receiving command request frames or command data frames. We /could/ potentially collapse command data frames into command request frames. Although I'd have to think a bit more about this before I do it. Differential Revision: https://phab.mercurial-scm.org/D2951
Gregory Szorc -
r37308:3d0e2cd8 default
Show More
Name Size Modified Last Commit Author
/ hgext
convert
fsmonitor
highlight
infinitepush
largefiles
lfs
narrow
zeroconf
__init__.py Loading ...
acl.py Loading ...
amend.py Loading ...
automv.py Loading ...
blackbox.py Loading ...
bugzilla.py Loading ...
censor.py Loading ...
children.py Loading ...
churn.py Loading ...
clonebundles.py Loading ...
commitextras.py Loading ...
eol.py Loading ...
extdiff.py Loading ...
factotum.py Loading ...
fetch.py Loading ...
fix.py Loading ...
githelp.py Loading ...
gpg.py Loading ...
graphlog.py Loading ...
hgk.py Loading ...
histedit.py Loading ...
journal.py Loading ...
keyword.py Loading ...
logtoprocess.py Loading ...
mq.py Loading ...
notify.py Loading ...
pager.py Loading ...
patchbomb.py Loading ...
purge.py Loading ...
rebase.py Loading ...
record.py Loading ...
releasenotes.py Loading ...
relink.py Loading ...
remotenames.py Loading ...
schemes.py Loading ...
share.py Loading ...
shelve.py Loading ...
show.py Loading ...
sparse.py Loading ...
split.py Loading ...
strip.py Loading ...
transplant.py Loading ...
uncommit.py Loading ...
win32mbcs.py Loading ...
win32text.py Loading ...