GitHub user ChugR opened a pull request: https://github.com/apache/qpid-dispatch/pull/168
crolke dev annotations - work in progress PR for review **DO NOT COMMIT THIS PULL REQUEST** It is for review only. This work adds a new annotation scheme for inter-router annotations. The old method put a variable number (0..4) of key-value pairs into the message annotations map at the end of the map. The new method puts in a single list of four elements at the beginning of the message annotations map. In order to be backwards compatible there is some amount of version sensing and translating between annotation formats. This could be improved in a number of ways. This commit still fails two self tests: system_tests_one_router and system_tests_two_routers in their annotation handling sections. The V1 vs V2 annotation feature is not tested much at all. That is in the works after the general strategy is approved. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ChugR/qpid-dispatch crolke-dev-annotations Alternatively you can review and apply these changes as the patch at: https://github.com/apache/qpid-dispatch/pull/168.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #168 ---- commit b3018514a09419f2bec669b50c7ac9178d8db5b4 Author: Chuck Rolke <cro...@redhat.com> Date: 2017-05-18T19:45:39Z Add v2 annotation message variables commit 3f6fef7075456034c28e6ad5c29f9203db8d37c0 Author: Chuck Rolke <cro...@redhat.com> Date: 2017-05-18T19:49:32Z fix typo in comment commit eb87c3a99ddece5545e93be14ba875d2c00566dd Author: Chuck Rolke <cro...@redhat.com> Date: 2017-05-18T19:50:06Z add v2 annotation map key string commit d050adc61c4d6682b569ab6c3a3eca715e3ad0a4 Author: Chuck Rolke <cro...@redhat.com> Date: 2017-05-22T20:05:26Z Slice router annotations from head of incoming message annotations. Reorganize data fields in message content. commit 5d440a385338427eb8c30132e0cc3cb3db0c0d4f Author: Chuck Rolke <cro...@redhat.com> Date: 2017-05-24T22:09:31Z Further progress on new annatation scheme Add accessors for private content fields Add compose_annotations Add router_annotate_message Add AMWQP_rx_handler commit c69304180466535ebabc9c74c6a4436a6a5ea731 Author: Chuck Rolke <cro...@redhat.com> Date: 2017-05-26T21:36:18Z Get new scheme limping along. ANNO v2 runs at 1.54x over v1 with no annotations. Still has an issue with user annotations. commit c11b667a7b3040883a98e8cb7f2b556018172c17 Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-01T14:14:10Z Running test code with new scheme still has self-test case fails and no new tests send delivery annotations if present. Future jira Fix size vs capacity bug parse annotations after copy commit 6ecdd9585e378a59960ed4618bc5114e378ce99f Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-01T17:18:08Z Bugfix: don't clobber the cursor commit ba1f7239c471dc685417a060e5709cd51236b5ef Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-01T20:20:07Z Avoid making copies of user annotations. Instead refer to them in-place in original received message. commit da89a162306c788f1ab278e46f07999759182d9e Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-01T20:36:42Z Improve comments commit eddcf103e4d1dc61735c948ef840105be658f9a4 Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-01T20:42:23Z Remove debug scaffolding commit 460c51ba40b12c248bafb74b53b86c8cc1ddcd8e Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-05T17:25:36Z Run either message annotation scheme based on sensed version. Always choose v2 unless the connection is to a router running version "0*" code. commit 7f9680435ddc45eb17cea0f556d68748facfd531 Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-05T20:09:39Z Fix annotation tests to use new scheme. The old annotations are switched out. TODO: Make annotation scheme testable for all variations of old and new both going in and coming out. commit 19a0f3ddbeb7230194c833e7446883766c22198e Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-05T21:02:58Z Tidy up one- and two-router annotation tests commit f4b35f0cc274e5c137566aa57e5d4ccc93598ea8 Author: Chuck Rolke <cro...@redhat.com> Date: 2017-06-20T17:41:59Z Restructure the new feature more carefully All tests pass except system_test_one_router and _two_routers. Time for some review ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org