HL7-over-QUIC (HoQ) is a program to test the performance of the Java HL7v2 API HAPI running over a Java implementation of QUIC quiche4j.
HoQ was developed with help from examples from quiche4j, HAPI, and Saravanan Subramanian.
A dataset and graphs can be found in the data/
directory.
HoQ was developed for Ubuntu 20.04 LTS using OpenJDK 11. Other distributions and Java versions have not been tested.
- Clone quiche4j and build
- Clone HoQ and build:
mvn install
- Run
./run.sh
to see how to run the clients and servers
-
Install Mininet:
sudo apt-get install mininet
-
Install other Mininet utils:
git clone git@github.com:mininet/mininet.git mininet/util/install.sh -fw
-
Run
sudo ./test.sh
to see how to run the test script
- Examine the dump_*.sh scripts in the
dump/
directory - Adjust the script parameters to suit your experimental parameters
- Run script
./dumps/dump_*.sh
to run experiments (Note: script will requestsudo
to run Mininet) - Run script
./dumps/calculate.sh
to automatically calculate the results i.e. HL7v2 transaction duration times - Run the corresponding
./dumps/graph_*.py
script to generate SVG graphs of your results
If you run into build errors for quiche4j, try to switch the quiche4j directory to use the nightly toolchain of cargo: rustup override set nightly
If you see WARNING: An illegal reflective access operation has occurred
, try the solution here.