This is an archive of the discontinued Mercurial Phabricator instance.

wireprotov2: update stream encoding specification
ClosedPublic

Authored by indygreg on Oct 8 2018, 8:29 PM.

Details

Summary

The encoding of data within streams in the frame-based protocol is
not yet defined or implemented. This means that all data in wire
protocol version 2 is currently being sent out raw, without
compression. That's obviously not ideal.

This commit formalizes the beginnings of stream encoding support
in the protocol.

I suspect we'll change behavior substantially in the future. My goal
is to get something landed so we can use compression. We can build
out more robust support later.

Because the frame type ID changed, this is strictly BC. But existing
code wasn't using the frame. I'll bump the framing protocol version
later once code is introduced to use the new frame.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

indygreg created this revision.Oct 8 2018, 8:29 PM
This revision was automatically updated to reflect the committed changes.