Need to configure the WS Handshaker in the test client's netty transport
with the same value given to the proton connection via setMaxFrameSize
so that incoming frames larger than the default 65535 over WS don't
trigger netty to fail the connection.
Adds some thread safety fixes and Netty usage fixes to the transport as
well as adding a traceBytes option to trace the bytes sent / received
during testing.
Use a dynamic proxy instead of hand-crafted wrappers around proton
types to prevent access to mutating methods in tests that could
inadvertantly change the state outside the connection thread.
Honor the sender settle mode from the client and ensure we always set
receiver mode to FIRST to reflect we don't support SECOND. Adds tests
coverage and needed test client changes for this.
The default version string is out of date and doesn't indicate that a
proper value couldn't be found, return something that makes that a bit
more clear.
Add support for the receiver side of a sender link which carries a
desired capabilities array which can request to know if we support
delayed delivery, answer with an offered capability in that case.
Better handle prefetch extension and pull consumers over Topics to avoid
the remote not receiving all the messages available based on the credit
it has issued.
Better interop for MapMessage with Binary value in the entries of the
payload, should convert back and forth the byte to allow Message to be
treated as a MapMessage and not fall back to a BytesMessage encoding.
Ensure that unsettled TX messages remain acquired and not redelivered to
the receiver. Add several tests that demonstrate that a received
message can be released, rejected, accepted or modified after a TX
rollback if it was not settled.
JMS Transformer performance improvements and bug fixes
Trim unnecessary code and improve overall performance of the JMS
Transformer codecs. Remove legacy Qpid JMS client related code from the
transformer as these are no longer supported. Fix outgoing message that
do not match the structure of the incoming message that created them such
as message with had only a body being sent out with Headers and message
Properties.
The test I'm adding was back ported from Artemis.
It will validate if the ACKs are nacked in case of a connection.close();
To avoid a situation where the TX would sit on a Transaction Resource Manager somewhere like an XID.
Adds ability to not settle accepted messages on the client to enable
creation of tests that are equivalent to the AmqpNetLite client's
transaction tests which hold settlement and expect the resource to
handle it on successful discharge.
Adds some transaction tests ported from AMQP .NET client with some
variances based on the way the test client works and limitations in the
brokers handling of Transacted sends.