Table of contents

[Show/Hide]
Node.js client

  * Serves documents from a particular folder. It is intended to work
    together with a regular HTTP server folder.

    * This process is quite complex, as internal URIs need to be
      changed to thout://hash_function/hash URIs.

      For example: 
      * Page index -links-to-> pages A, B, C
      * Page A -links-to-> pages B, D
      * Page B -links-to-> page C, A, index
      * Page C -links-to-> page D, index
      * Page D -links-to-> index

      The graph needs to be made into a tree, by dropping some nodes:
      * Page index -links-to-> pages A, B, C
      * Page A -links-to-> pages B, D
      * Page B -links-to-> page C
      * Page C -links-to-> page D
      * Page D

      Then topologically sorted: {D, C, B, A, index} and hashed in
      order with the links changed to thout://hash_function/hash
      links.
      
  * Also caches in memory a number of documents for the thout network.