Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1774

performance improvements in sasl transport wrapper

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: proton-j-0.26.0
    • Fix Version/s: proton-j-0.27.0
    • Component/s: proton-j
    • Labels:
      None

      Description

      The SaslImpl class adds a TransportWrapper that deals with processing the iincoming and outgoing sasl exchange work.  When complete the wrapper leaves in place an implementation that must check on each new bit of work through the transport if it is still in Sasl mode and hand off to the next wrapper accordingly when not in Sasl.  This checking can lead to a small loss in performance.  Instead a wrapper that delegates to a swappable next instance can be switched once sasl is complete such that no checking is required after the sasl exchange.

      As a side affect of this change the input and output buffers allocated to handle sasl bytes in the exchange can be moved to the delegate TransportWrapper that will be dropped after the exchange and that small bit of memory can be freed by a future GC.

        Attachments

          Activity

            People

            • Assignee:
              tabish Timothy Bish
              Reporter:
              tabish Timothy Bish
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: