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

IAsyncResult style methods not being supported by certain transports leads to issues in mixed ISync/IAsync use cases

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.12.0
    • Component/s: C# - Compiler
    • Labels:
    • Patch Info:
      Patch Available

      Description

      The csharp:async switch causes the compiler to change the implementation of the client side call stubs to always use IAsyncResult. This causes issues, because the IAsyncResult call style is not supported by all transports.

      If such a transport is used, the code finally calls the TTransport implementations of BeginFlush and EndFlush - either one of these simply throws an exception, causing the outgoing call to fail.

      What is highly unexpected here is the fact, that due to the send_Xxx method implementation change also ISync interface is affected as soon as csharp:async is used.

        Attachments

          Activity

            People

            • Assignee:
              jensg Jens Geyer
              Reporter:
              jensg Jens Geyer
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: