Subject: [Rift] The minor_version in PacketHeader

From: <[email-masked]>
Date: Mon, 24 Feb 2020 11:20:42 +0800 (CST)

Hi, Tony

The minor_version in struct PacketHeader is VersionType(i8) and protocol_minor_version is MinorVersionType(i16). 

Is there a risk of data loss here?

typedef i8       VersionType

/** @note MUST be interpreted in implementation as unsigned */

typedef i16      MinorVersionType

/** Represents protocol encoding schema major version */

const common.VersionType protocol_major_version = 2

/** Represents protocol encoding schema minor version */

const common.MinorVersionType protocol_minor_version =  0

 /** Common RIFT packet header. */

 struct PacketHeader {

 ...

     /** Minor version of protocol. */

     2: required common.VersionType minor_version =

             protocol_minor_version;

...

Thank you!

Benchong

徐本崇

软件平台南京协议开发三部/有线研究院/有线产品经营部 

中兴通讯股份有限公司

南京市雨花台区紫荆花路68号南研一期2楼，210012

M: 13852298109

E: [email-masked]

---

From: Tony Przygienda <[email-masked]>
Date: Sun, 23 Feb 2020 20:52:06 -0800

minor but good catch, yes, will correct on -11 draft

thanks

-- tony

On Sun, Feb 23, 2020 at 7:21 PM <[email-masked]> wrote:

> Hi, Tony
>
> The minor_version in struct PacketHeader is VersionType(i8) and
> protocol_minor_version is MinorVersionType(i16).
>
> E: [email-masked] <[email-masked]>
>
>
>
>

---

From: Tony Przygienda <[email-masked]>
Date: Sun, 23 Feb 2020 21:10:58 -0800

and congratulations, this will have to bump major version schema to 3
actually (since data type size changed) ;-) You just became the father of
RIFTv3 ;-)

I thought about it and albeit mildly unlikely, we may run out of 128/255
minors if people start to build a lots of extensions (since we need to make
the minors of different drafts sequential. I would hate that to force a
major update which is a forklift.

other opinions?

--- tony

---

From: <[email-masked]>
Date: Mon, 24 Feb 2020 15:57:47 +0800 (CST)

Unexpectedly received a big honor, thanks :)

In fact, the earlier versions used the i16 version type both major and minor. We don't care if one byte will increase the system load, and there is enough expansion space as probably decades later rift is still in use.

Thank you!

Benchong

徐本崇

中兴通讯股份有限公司

M: 13852298109

原始邮件

发件人：TonyPrzygienda <[email-masked]>
收件人：徐本崇10065053;
抄送人：[email-masked] <[email-masked]>;
日 期 ：2020年02月24日 13:12
主 题 ：Re: The minor_version in PacketHeader

and congratulations, this will have to bump major version schema to 3 actually (since data type size changed) ;-) You just became the father of RIFTv3 ;-) 

I thought about it and albeit mildly unlikely, we may run out of 128/255 minors if people start to build a lots of extensions (since we need to make the minors of different drafts sequential. I would hate that to force a major update which is a forklift. 

other opinions? 

--- tony 

thanks

-- tony 

Hi, Tony

typedef i8       VersionType

 struct PacketHeader {

 ...

             protocol_minor_version;

...

Thank you!

Benchong

徐本崇

中兴通讯股份有限公司

M: 13852298109