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

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.9
    • Fix Version/s: 0.9.1
    • Component/s: Cocoa - Compiler
    • Labels:
    • Patch Info:
      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

            • Assignee:
              Unassigned
              Reporter:
              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