PROTON-1672 Handle multi-frame transfer payloads more efficiently

Replace reallocation and consolidation of transfer payloads when
multiple framed transfers are inbound.  Creates a
CompositeReadableBuffer that can be used to house the assembled payload
for use in the decoder. The decoder implementation refactored to handle
ReadableBuffer as the source of bytes as well as ByteBuffer.  Adds
no-copy method variants to the Sender and Receiver API such that clients
or servers can process inbound and outbound deliveries without copying
the payloads when it is known to be safe not to copy.

Adds tests and jacoco reports to validate test coverage.
34 files changed
tree: a907beeb3d3cd992009e9035df1b3fe09fbe6d2a
  1. .gitattributes
  2. .gitignore
  3. .mailmap
  4. .travis.yml
  5. LICENSE
  6. NOTICE
  7. README.md
  8. apache-qpid-proton-j/
  9. appveyor.yml
  10. examples/
  11. pom.xml
  12. proton-j/
  13. tests/
README.md

Apache Qpid Proton-J

Linux Build Status Windows Build Status

Qpid Proton-J is a high-performance, lightweight messaging library. It can be used in the widest range of messaging applications, including brokers, client libraries, routers, bridges, proxies, and more.

Please see http://qpid.apache.org/proton for more information.