Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use MQ as our transport, instead of websockets. #5

Merged
merged 9 commits into from
Apr 25, 2019
Merged

Use MQ as our transport, instead of websockets. #5

merged 9 commits into from
Apr 25, 2019

Commits on Apr 24, 2019

  1. Document how we expect things to work when we're done.

    This updates the hostname to be `tunnel.steve.fi`, because we're
    changing the way the client <-> server link works, and that means
    the existing public-endpoint won't work.
    
    TODO:
    
    * Think about signing the requests the server submits.
      * That doesn't stop sniffing, but does stop spidering/probing.
    skx committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    a120cd1 View commit details
    Browse the repository at this point in the history
  2. Added stub for public-key signing

    skx committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    e1cb931 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    72013a5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6c83f34 View commit details
    Browse the repository at this point in the history
  5. Updated to use MQ as the transport.

    This has been tested via the `mosquitto_pub` command; inject
    a full-request such as:
    
       GET / HTTP/1.0
       Host: foo.example.com
    
    The result is that the response is sent back down the same
    channel, as expected.
    
    Porting the server should be pretty simple, based on this work.
    
    Since the HTTP-server and the MQ-server are on the same host
    I'm going to cheat and only talk to MQ on the localhost for
    the server.
    skx committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    0cac8b8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ef56929 View commit details
    Browse the repository at this point in the history
  7. Completed port to MQ.

    Tested with 20 concurrent clients accessing 20 local (python
    webservers).
    
    Zero deadlocks.  Zero failures.
    skx committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    d242e11 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    78752a8 View commit details
    Browse the repository at this point in the history
  9. Removed; since we don't use it yet, and we don't necessarily need it …

    …if we have an embedded queue
    skx committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    323bfad View commit details
    Browse the repository at this point in the history