Skip to content

gordonchiang/HoQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HoQ

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.

Getting Started

HoQ was developed for Ubuntu 20.04 LTS using OpenJDK 11. Other distributions and Java versions have not been tested.

  1. Clone quiche4j and build
  2. Clone HoQ and build: mvn install
  3. Run ./run.sh to see how to run the clients and servers

Mininet Testing

  1. Install Mininet: sudo apt-get install mininet

  2. Install other Mininet utils:

    git clone git@github.com:mininet/mininet.git
    mininet/util/install.sh -fw
    
  3. Run sudo ./test.sh to see how to run the test script

Automated Testing

  1. Examine the dump_*.sh scripts in the dump/ directory
  2. Adjust the script parameters to suit your experimental parameters
  3. Run script ./dumps/dump_*.sh to run experiments (Note: script will request sudo to run Mininet)
  4. Run script ./dumps/calculate.sh to automatically calculate the results i.e. HL7v2 transaction duration times
  5. Run the corresponding ./dumps/graph_*.py script to generate SVG graphs of your results

Troubleshooting

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.

About

Testing the performance of HL7v2 over QUIC through HTTP/3.

Resources

License

Stars

Watchers

Forks