diff -r b638219a23c3 -r e2fe1074024c mercurial/wireprotoframing.py --- a/mercurial/wireprotoframing.py Thu Oct 04 15:08:42 2018 -0700 +++ b/mercurial/wireprotoframing.py Thu Oct 04 14:05:16 2018 -0700 @@ -49,7 +49,8 @@ FRAME_TYPE_ERROR_RESPONSE = 0x05 FRAME_TYPE_TEXT_OUTPUT = 0x06 FRAME_TYPE_PROGRESS = 0x07 -FRAME_TYPE_STREAM_SETTINGS = 0x08 +FRAME_TYPE_SENDER_PROTOCOL_SETTINGS = 0x08 +FRAME_TYPE_STREAM_SETTINGS = 0x09 FRAME_TYPES = { b'command-request': FRAME_TYPE_COMMAND_REQUEST, @@ -58,6 +59,7 @@ b'error-response': FRAME_TYPE_ERROR_RESPONSE, b'text-output': FRAME_TYPE_TEXT_OUTPUT, b'progress': FRAME_TYPE_PROGRESS, + b'sender-protocol-settings': FRAME_TYPE_SENDER_PROTOCOL_SETTINGS, b'stream-settings': FRAME_TYPE_STREAM_SETTINGS, } @@ -89,6 +91,22 @@ b'eos': FLAG_COMMAND_RESPONSE_EOS, } +FLAG_SENDER_PROTOCOL_SETTINGS_CONTINUATION = 0x01 +FLAG_SENDER_PROTOCOL_SETTINGS_EOS = 0x02 + +FLAGS_SENDER_PROTOCOL_SETTINGS = { + b'continuation': FLAG_SENDER_PROTOCOL_SETTINGS_CONTINUATION, + b'eos': FLAG_SENDER_PROTOCOL_SETTINGS_EOS, +} + +FLAG_STREAM_ENCODING_SETTINGS_CONTINUATION = 0x01 +FLAG_STREAM_ENCODING_SETTINGS_EOS = 0x02 + +FLAGS_STREAM_ENCODING_SETTINGS = { + b'continuation': FLAG_STREAM_ENCODING_SETTINGS_CONTINUATION, + b'eos': FLAG_STREAM_ENCODING_SETTINGS_EOS, +} + # Maps frame types to their available flags. FRAME_TYPE_FLAGS = { FRAME_TYPE_COMMAND_REQUEST: FLAGS_COMMAND_REQUEST, @@ -97,7 +115,8 @@ FRAME_TYPE_ERROR_RESPONSE: {}, FRAME_TYPE_TEXT_OUTPUT: {}, FRAME_TYPE_PROGRESS: {}, - FRAME_TYPE_STREAM_SETTINGS: {}, + FRAME_TYPE_SENDER_PROTOCOL_SETTINGS: FLAGS_SENDER_PROTOCOL_SETTINGS, + FRAME_TYPE_STREAM_SETTINGS: FLAGS_STREAM_ENCODING_SETTINGS, } ARGUMENT_RECORD_HEADER = struct.Struct(r'