mgoulish commented on a change in pull request #526: mercury initial checkin URL: https://github.com/apache/qpid-dispatch/pull/526#discussion_r304796699
########## File path: tools/mercury/README.md ########## @@ -0,0 +1,508 @@ +# Mercury +##interactive Golang Testing System for Qpid Dispatch Router + + + +<br/> + + +###Requirements + +1. the go language on your machine +2. installed proton and dispatch router software + + + +<br/> + +###Mercury Audience + +Mercury is a tool for developers. The user has one or more installed versions of the Dispatch Router + Proton code and wantsto easily set up a complex network including interior routers, edge routers, and clients with nontrivial addressing patterns. Currently the creation of nontrivial networks is difficult enough that it discourages extensive testing during development. + +Especially Mercury provides a more interactive form of development testing, in which a developer easily creates a network, and easily iterates through a cycle of altering the network, running it, and seeing results from the run. At the end of such a 'session' all of the developer's actions have been captured and will be reproducible later if desired. The captured session is a runnable script, and can be edited and used as a standardized test. + + +<br/> + + + +###The C Client + +The client is written in C to the proactor interface and has been heavily adapted from an original by Alan Conway. It needs to be built before Mercury will be able to do anything useful. Look at the directory mercury/clients, look at the file in there called "m", adapt it for your system, and run it so you get an executable. + +Having Mercury's own client allows it to do things like: + +1. throttle send-speed with the "--throttle" argument +2. Tell the client to form multiple links with multiple "--address" arguments. +3. Tell it where to send its log files and so on. + + +<br/> + + +###Starting Mercury + +The directory from which to run Mercury is also called mercury. So it's mercury/mercury. And an example of a simple run-script is 'example_run_script'. +In that script you will see that it sets an environment variable MERCURY\_ROOT. On your system, please change this to something appropriate to your installation. Review comment: OK, I have made it look in the standard places if no other versions are defined. ( This does *not* complete the changes I need to make, but it's a big one. ) No, the idea about overriding with environments variables isn't quite right. An important part of the idea with Mercury is that it makes it easy to define multiple versions of dispatch & proton, and then use them in a heterogeneous network. An environment variable like DISPATCH_INSTALL_DIR would imply that there is only one. The different versions of dispatch+proton are defined by the "versions" command. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
