vert-x3 / vertx-proton

Apache License 2.0
26 stars 26 forks source link

misuse of the proton-j transport input #72

Closed gemmellr closed 6 years ago

gemmellr commented 6 years ago

vertx-proton currently misuses the proton-j transport input buffer, by holding on to it and reusing it after processing the transport. This isn't suitable as processing the transport can change the input buffer, and is documented as illegal usage on the the proton-j methods used, though it hasnt historically caused an issue in vertx-proton. However some changes in the recent proton-j versions mean it does now cause a problem in vertx-proton, also in part due to how else vertx-proton uses the transport. This prevents updating to proton-j 0.27.0 or newer.

gemmellr commented 6 years ago

updated to avoid reusing the input illegally, and also avoid processing the transport for every byte and creating an extra intermediate copy of the input, giving a significant boost to receive throughput.

gemmellr commented 6 years ago

@rgodfrey: FYI there is going to be a 3.5.3, any minute now, and this is now included.