Subject: s/RST_STREAM/TERMINATE_STREAM (editorial) was: Naming Consistency (editorial)

From: <[email-masked]>
Date: Fri, 1 Aug 2014 10:08:35 +0000

On Sunday,13 July 2014 22:28, [email-masked]<mailto:[email-masked]> wrote:

> On 12 July 2014 14:07,  <[email-masked]<mailto:[email-masked]>> wrote:

>> The GOAWAY frame name has no separator. To keep consistency in the

>> naming scheme, I suggest changing to GO_AWAY.

> And you aren't bothered by the lack of vowels in RST_STREAM?

(Not really.  The abbreviation 'RST' is a "generally accepted" abbreviation in computing to mean reset.)

What bothers me more about the name 'RST_STREAM' is that it's usage in http/2 doesn't match the meaning of the word reset.  For example, here are some of the definitions of 'reset' that a quick search found:

= "cause (a binary device) to enter the state representing the numeral 0." [http://www.oxforddictionaries.com/definition/english/reset]

="to move (something) back to an original place or position" [http://www.merriam-webster.com/dictionary/reset]

="to set again or anew" [http://www.merriam-webster.com/dictionary/reset]

= "to restore (the contents of a register or similar device) in a computer system to zero" [http://dictionary.reference.com/browse/reset]

In other words, the word reset implies that the stream should be reset back to its *original* state (i.e. IDLE), but RST_STREAM immediately takes a stream to its *terminal* state (i.e. CLOSED).

A more appropriate name would be TERMINATE_STREAM (or perhaps close).

Even the definition in Section http://http2.github.io/http2-spec/#RST_STREAM uses the words “terminate” and “close” to describe this frame.

-keith

This email message is intended only for the use of the named recipient. Information contained in this email message and its attachments may be privileged, confidential and protected from disclosure. If you are not the intended recipient, please do not read, copy, use or disclose this communication to others. Also please notify the sender by replying to this message and then delete it from your system.