Uploaded image for project: 'HttpComponents HttpAsyncClient'
  1. HttpComponents HttpAsyncClient
  2. HTTPASYNC-70

Shuting down the underlying channel [ioctrl.shutdown()] doesn't mark contentdecoder as completed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 4.0.1
    • 4.0.2

    Description

      If in AsyncByteConsumer close underlying channel

      protected void onByteReceived(ByteBuffer buf, IOControl ioctrl) throws IOException {
      if( <some_condition> )

      { ioctrl.shutdown(); }

      }
      later in HttpAsyncRequestExecutor.inputReady(...) there is just one check agains content decoder to verify if consuming completed

      if (decoder.isCompleted())

      { processResponse(conn, state, handler); }

      so the decoder goes into indefinite waiting.

      Seems like setting decoder.completed into true solves problem.

      Thoughts?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              clajder clajder
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: