Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-1779

Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service functions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 0.9
    • 0.9.1
    • Cocoa - Compiler
    • Patch Available

    Description

      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'

      Attachments

        1. thrift-issue-1779.patch
          3 kB
          Luis Laugga

        Activity

          People

            Unassigned Unassigned
            laugga Luis Laugga
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 1h
                1h
                Remaining:
                Remaining Estimate - 1h
                1h
                Logged:
                Time Spent - Not Specified
                Not Specified