You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "David Reiss (JIRA)" <ji...@apache.org> on 2008/09/09 20:11:44 UTC

[jira] Created: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Rename "async void" to "noreturn void" or just "noreturn"
---------------------------------------------------------

                 Key: THRIFT-136
                 URL: https://issues.apache.org/jira/browse/THRIFT-136
             Project: Thrift
          Issue Type: Improvement
            Reporter: David Reiss
            Priority: Minor


"async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by Amit Sudharshan <am...@onellama.com>.
+1 to noreturn, makes more sense

On Tue, Sep 9, 2008 at 1:41 PM, Bryan Duxbury (JIRA) <ji...@apache.org>wrote:

>
>    [
> https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629568#action_12629568]
>
> Bryan Duxbury commented on THRIFT-136:
> --------------------------------------
>
> +1 to noreturn.
>
> > Rename "async void" to "noreturn void" or just "noreturn"
> > ---------------------------------------------------------
> >
> >                 Key: THRIFT-136
> >                 URL: https://issues.apache.org/jira/browse/THRIFT-136
> >             Project: Thrift
> >          Issue Type: Improvement
> >            Reporter: David Reiss
> >            Priority: Minor
> >
> > "async" is not a very descriptive name for functions that don't return
> any value.  I suggest that we change this keyword to "noreturn" to free up
> the term "async" to refer to non-blocking function calls.  Votes?
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>

[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Luke Lu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629576#action_12629576 ] 

Luke Lu commented on THRIFT-136:
--------------------------------

"async void" in thrift is indeed weird. It's more analogous to "one-way invocation" in CORBA and Ice than "asynchronous invocation".

noreturn is confusing as the function in fact returns immediately after the message is sent. gcc has a "noreturn" attribute to indicate the function actually exits and not returning control to the caller.

May be the easiest way signify a one-way invocation is not specifying any return type at all. so async void ping() just becomes ping() in the IDL. and "async void" directive can still be used to generate a callback (when the server acks) for a async call that returns void.




> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Kevin Clark (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683788#action_12683788 ] 

Kevin Clark commented on THRIFT-136:
------------------------------------

+1 for "oneway". I think it reads better.

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>         Attachments: 0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch, 0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch, 0003-THRIFT-136.-s-async-oneway-in-comments.patch, 0004-THRIFT-136.-s-async-oneway-in-misc-places.patch, 0005-THRIFT-136.-s-async-oneway-in-Erlang.patch, 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
>
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629568#action_12629568 ] 

Bryan Duxbury commented on THRIFT-136:
--------------------------------------

+1 to noreturn. 

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683987#action_12683987 ] 

Todd Lipcon commented on THRIFT-136:
------------------------------------

Erlang lgtm though we should make sure this makes it into the release notes. As you mentioned, you'll have to regenerate the code, upgrade the thrift lib code, compile everything, and then simultaneously reload thrift_processor as well as the generated modules for your service.

While I dislike breaking changes like this, it's not the end of the world, and I think it's preferable to have consistent naming.

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Assignee: David Reiss
>            Priority: Minor
>         Attachments: 0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch, 0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch, 0003-THRIFT-136.-s-async-oneway-in-comments.patch, 0004-THRIFT-136.-s-async-oneway-in-misc-places.patch, 0005-THRIFT-136.-s-async-oneway-in-Erlang.patch, 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
>
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629565#action_12629565 ] 

Todd Lipcon commented on THRIFT-136:
------------------------------------

I dislike the term "noreturn" since it makes it seem like it has to be the last function call of the thrift connection (eg exit() would have a "noreturn" type)

Maybe "no_ack"?

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629579#action_12629579 ] 

Bryan Duxbury commented on THRIFT-136:
--------------------------------------

It's too easy to mistakenly make a method noreturn if you just don't specify a return type. I think it should have to be specified one way or another. 

I still prefer noreturn, but if people are really against that, we could do "oneway". 

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683786#action_12683786 ] 

David Reiss commented on THRIFT-136:
------------------------------------

Todd (or Chris or Eugene), I'd like your opinion on the Erlang one.  As for the rest, I welcome opinions from all.

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>         Attachments: 0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch, 0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch, 0003-THRIFT-136.-s-async-oneway-in-comments.patch, 0004-THRIFT-136.-s-async-oneway-in-misc-places.patch, 0005-THRIFT-136.-s-async-oneway-in-Erlang.patch, 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
>
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Jérémie BORDIER (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683806#action_12683806 ] 

Jérémie BORDIER commented on THRIFT-136:
----------------------------------------

+1 for "oneway" too :-) Patches (didn't looked the Erlang one) looks great, +1

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>         Attachments: 0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch, 0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch, 0003-THRIFT-136.-s-async-oneway-in-comments.patch, 0004-THRIFT-136.-s-async-oneway-in-misc-places.patch, 0005-THRIFT-136.-s-async-oneway-in-Erlang.patch, 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
>
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Reiss updated THRIFT-136:
-------------------------------

    Attachment: 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
                0005-THRIFT-136.-s-async-oneway-in-Erlang.patch
                0004-THRIFT-136.-s-async-oneway-in-misc-places.patch
                0003-THRIFT-136.-s-async-oneway-in-comments.patch
                0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch
                0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>         Attachments: 0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch, 0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch, 0003-THRIFT-136.-s-async-oneway-in-comments.patch, 0004-THRIFT-136.-s-async-oneway-in-misc-places.patch, 0005-THRIFT-136.-s-async-oneway-in-Erlang.patch, 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
>
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683948#action_12683948 ] 

Bryan Duxbury commented on THRIFT-136:
--------------------------------------

Looks good to me. +1.

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>         Attachments: 0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch, 0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch, 0003-THRIFT-136.-s-async-oneway-in-comments.patch, 0004-THRIFT-136.-s-async-oneway-in-misc-places.patch, 0005-THRIFT-136.-s-async-oneway-in-Erlang.patch, 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
>
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Luke Lu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629597#action_12629597 ] 

Luke Lu commented on THRIFT-136:
--------------------------------

+1 for "oneway" then. It's more precise and 25% shorter than "noreturn" :)

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Reiss resolved THRIFT-136.
--------------------------------

    Resolution: Fixed

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Assignee: David Reiss
>            Priority: Minor
>         Attachments: 0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch, 0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch, 0003-THRIFT-136.-s-async-oneway-in-comments.patch, 0004-THRIFT-136.-s-async-oneway-in-misc-places.patch, 0005-THRIFT-136.-s-async-oneway-in-Erlang.patch, 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
>
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury reassigned THRIFT-136:
------------------------------------

    Assignee: David Reiss

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Assignee: David Reiss
>            Priority: Minor
>         Attachments: 0001-THRIFT-136.-s-async-oneway-in-lexer-and-parser-vari.patch, 0002-THRIFT-136.-s-async-oneway-in-compiler-variables.patch, 0003-THRIFT-136.-s-async-oneway-in-comments.patch, 0004-THRIFT-136.-s-async-oneway-in-misc-places.patch, 0005-THRIFT-136.-s-async-oneway-in-Erlang.patch, 0006-THRIFT-136.-s-async-oneway-in-the-Thrift-IDL.patch
>
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-136) Rename "async void" to "noreturn void" or just "noreturn"

Posted by "Dan Sully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629583#action_12629583 ] 

Dan Sully commented on THRIFT-136:
----------------------------------

+1

> Rename "async void" to "noreturn void" or just "noreturn"
> ---------------------------------------------------------
>
>                 Key: THRIFT-136
>                 URL: https://issues.apache.org/jira/browse/THRIFT-136
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: David Reiss
>            Priority: Minor
>
> "async" is not a very descriptive name for functions that don't return any value.  I suggest that we change this keyword to "noreturn" to free up the term "async" to refer to non-blocking function calls.  Votes?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.