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

Konrad Grochowski commented on THRIFT-2704:
-------------------------------------------

TCompact protocol was not supporting T_ONEWAY calls, as there was an error in 
decoding procedures - fewer bits were read than written. Pushed fix for 
(hopefully) all langs

> generated oneway functions encode as T_CALL not T_ONEWAY
> --------------------------------------------------------
>
>                 Key: THRIFT-2704
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2704
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.9.1
>            Reporter: Konrad Grochowski
>
> Steven Varga wrote:
> {quote}
> Hi,
> the following service generates oneway RPC call flagged with T_CALL flag as
> opposed to expected T_ONEWAY; I need the T_ONEWAY flag to implement proper
> zero MQ message passing. Zero MQ message passing system differentiates
> between request - reply patterns and push - pull ones at socket level;
> Am I doing something wrong ?
> best,
> steve
> service foo {
>        oneway void bar( 1:string value );
> }
> void fooClient::put( const std::string& value  ) {
>   send_bar( value ); // <- this is correct that recv_xxx is missing
> }
> // ----- incorrect or unreasoned T_CALL instead of T_ONEWAY
> void fooClient::send_bar(const std::string& value) {
>   int32_t cseqid = 0;
>   oprot_->writeMessageBegin("bar", ::apache::thrift::protocol::T_CALL,
> cseqid);
>  ....
> }
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to