Luis Laugga created THRIFT-1779:
-----------------------------------

             Summary: Missing process_XXXX method in generated TProcessor 
implementation for all 'oneway' service functions
                 Key: THRIFT-1779
                 URL: https://issues.apache.org/jira/browse/THRIFT-1779
             Project: Thrift
          Issue Type: Bug
          Components: Cocoa - Compiler
    Affects Versions: 0.9
            Reporter: Luis Laugga
            Priority: Critical
             Fix For: 1.0
         Attachments: thrift-trunk-fix-cocoa-oneway.patch

The generated TProcessor class implementation for services with methods that 
have the _oneway_ modifier is incomplete.

This method is missing in the service generated implementation:

*-(void)process_XXXX_withSequenceID:(int32_t)seqID 
inProtocol:(id<TProtocol>)inProtocol outProtocol:(id<TProtocol>)outProtocol*

During initialization, for _mMethodMap_:

*SEL s = @selector(process_XXXX_withSequenceID:inProtocol:outProtocol:);
NSMethodSignature * sig = [self methodSignatureForSelector: s];*

Because the method _process_XXXX_withSequenceID:inProtocol:outProtocol:_ 
implementation is missing, _methodSignatureForSelector_ will return *nil* 
(_sig_ is *nil*).

The following call:

*NSInvocation * invocation = [NSInvocation invocationWithMethodSignature: sig];*

Will throw an exception:

*'NSInvalidArgumentException', reason: '+[NSInvocation 
_invocationWithMethodSignature:frame:]: method signature argument cannot be 
nil'*





--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to