[
https://issues.apache.org/jira/browse/THRIFT-2295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13857666#comment-13857666
]
Martin Vogt commented on THRIFT-2295:
-------------------------------------
>> None = 0x01 ...
>>Only for the Bit-test. (x & 0x0 = 0x0).
>I would expect None to be literally "no bits set".
I have change that, including the uppercase MOD to e_mod,
which looks now more like the other enum implementations.
>>most likely the person who implemented oneway didn't know it too
>Not quite, I think. The keyword oneway lets the code generator behave
>differently: It omits >the whole recv_Xxx() response part.
Yes, signal/slot have a void return and similar behaviour as "oneway".
Another reason is that some blocking must be avoided.
A client can issue a call to a server and gets some return value, like
{quote}
service MyService {
i32 getRandom();
}
{quote}
If the server then emits a signal during getRandom and the
client is connected to the signal (+tcp stack full) there
is a deadlock.
So I think, the marshalling must be different for signal/slots too.
But this patch only makes the "oneway" implementation more generic.
> Make "oneway" more generic
> --------------------------
>
> Key: THRIFT-2295
> URL: https://issues.apache.org/jira/browse/THRIFT-2295
> Project: Thrift
> Issue Type: Improvement
> Components: Compiler (General)
> Affects Versions: 0.9.1
> Reporter: Martin Vogt
> Priority: Trivial
> Attachments: functionModifiers131227v1.patch
>
>
> I'm experimenting with different function modifiers
> ("oneway","signal","slot", etc...)
> The current code does not make such tests easy, because the "oneway"
> modifier is hardcoded as bool.
> The following patch improves the optional function modifier to be more
> generic.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)