D4470: wireprotov2peer: use our CBOR decoder
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Tue Sep 4 18:29:29 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Behavior should be the same in order to preserve backwards
compatibility. We obviously want to stream values in this code.
We'll do that in subsequent commits.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4470
AFFECTED FILES
mercurial/wireprotov2peer.py
CHANGE DETAILS
diff --git a/mercurial/wireprotov2peer.py b/mercurial/wireprotov2peer.py
--- a/mercurial/wireprotov2peer.py
+++ b/mercurial/wireprotov2peer.py
@@ -8,15 +8,15 @@
from __future__ import absolute_import
from .i18n import _
-from .thirdparty import (
- cbor,
-)
from . import (
encoding,
error,
util,
wireprotoframing,
)
+from .utils import (
+ cborutil,
+)
def formatrichmessage(atoms):
"""Format an encoded message from the framing protocol."""
@@ -44,13 +44,10 @@
def cborobjects(self):
"""Obtain decoded CBOR objects from this response."""
- size = self.b.tell()
self.b.seek(0)
- decoder = cbor.CBORDecoder(self.b)
-
- while self.b.tell() < size:
- yield decoder.decode()
+ for v in cborutil.decodeall(self.b.getvalue()):
+ yield v
class clienthandler(object):
"""Object to handle higher-level client activities.
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list