You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2021/04/10 08:14:00 UTC

[jira] [Comment Edited] (THRIFT-5396) deprecate "Async" method postfix

    [ https://issues.apache.org/jira/browse/THRIFT-5396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17318432#comment-17318432 ] 

Jens Geyer edited comment on THRIFT-5396 at 4/10/21, 8:13 AM:
--------------------------------------------------------------

The old behaviour can be restored by adding the new switch {{async_postfix}} like in
{code:java}
 
$  thrift -gen netstd:async_postfix  somefile.thrift
{code}
All available netstd options
{code:java}
 
  netstd (C#):
    wcf:             Adds bindings for WCF to generated classes.
    serial:          Add serialization support to generated classes.
    union:           Use new union typing, which includes a static read function for union types.
    pascal:          Generate Pascal Case property names according to Microsoft naming convention.
    no_deepcopy:     Suppress generation of DeepCopy() method.
    async_postfix:   Append "Async" to all service methods (maintains compatibility with existing code).
{code}
 


was (Author: jensg):
The old behaviour can be restored by adding the new switch {{async_postfix}} like in

{code} 
$  thrift -gen netstd:async_postfix  somefile.thrift
{code} 


All available netstd options

{code} 
  netstd (C#):
    wcf:             Adds bindings for WCF to generated classes.
    serial:          Add serialization support to generated classes.
    union:           Use new union typing, which includes a static read function for union types.
    pascal:          Generate Pascal Case property names according to Microsoft naming convention.
    no_deepcopy:     Suppress generation of DeepCopy() method.
    *async_postfix*:   Append "Async" to all service methods (maintains compatibility with existing code).
{code} 

 

> deprecate "Async" method postfix
> --------------------------------
>
>                 Key: THRIFT-5396
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5396
>             Project: Thrift
>          Issue Type: Improvement
>          Components: netstd - Compiler
>            Reporter: Jens Geyer
>            Assignee: Jens Geyer
>            Priority: Major
>              Labels: breaking_change
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The nestdt compiler generates method names witnh "Async" following an older recommendation for async methods in NET. It also helped to distinguish between synchronous and async/await calls in the old "csharp" bindings.
> Because with modern NET versions common mainstream (and technically also the only possible way left) to call Thrift methods is now the async style, this postfix has become obsolete and starts to become a burden rather a feature.
> Hence, default should be to leave method mames undecorated and instead make the "Async" postfix a compatibility option that must be enabled explicitly.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)