Skip to content
Snippets Groups Projects
  1. Jun 17, 2021
  2. Jun 16, 2021
  3. Jun 15, 2021
  4. Jun 14, 2021
    • Nick Mathewson's avatar
      Comment out build_path for now. · 7a8b2344
      Nick Mathewson authored
      It just duplicates TorPath::build_circuit, which is all you actually
      need.
      7a8b2344
    • Nick Mathewson's avatar
      Use FuturesUnordered, not SelectAll<Once<...>> · 561ca572
      Nick Mathewson authored
      Closes #124
      561ca572
    • Nick Mathewson's avatar
      Enormous tor-circmgr rewrite. · 83b1150c
      Nick Mathewson authored
      As with the tor-chanmgr code, the circuit manager is now implemented
      using an AbstractCircMgr type that uses traits to abstract the
      particular behavior of other types that it uses.  (Specifically:
      circuits, building circuits, and telling whether one circuit usage
      is compatible with another.)  Abstracting out the dependencies in
      this ways makes it possible to test the circuit manager without
      having to actually build real circuits.
      
      This commit also introduces new behavior for handling pending
      circuit requests.  Upon getting a new request, first we check to see
      if there's an existing circuit we can use.  If there isn't, we look
      for pending circuits and wait for them.  If there aren't any pending
      circuits we can use, we launch one or more, and wait for them.
      
      So far, that's the same as the old behavior.  But here's a change:
      if, while we are waiting for some pending circuits, a different
      circuit is completed, and it's one we could use, then the task that
      was building _that_ circuit will tell us: "please look at this
      circuit".  This gives us better changes of getting a usable circuit
      fast.
      
      Minor changes:
      
      * The Error type in CircMgr no longer uses anyhow; several errors
        have been simplified.
      
      * We've gotten more formal about the relationship between circuit
        usage and target usage.
      83b1150c
    • Nick Mathewson's avatar
      f3574015
    • Nick Mathewson's avatar
      Make a few error types implement Clone · 8e2246b0
      Nick Mathewson authored
      To make this work we have to wrap std::io::Error in an Arc.  The
      benefit of having these errors implement Clone is that we can
      provide the same Error in response to multiple requests when they
      are all waiting on the same operation.
      8e2246b0
  5. Jun 13, 2021
  6. Jun 09, 2021
  7. Jun 08, 2021
  8. Jun 04, 2021
  9. Jun 03, 2021
  10. May 28, 2021
  11. May 27, 2021
    • Nick Mathewson's avatar
      Add noop_method_call warning. · 2102d2e2
      Nick Mathewson authored
      This would have saved ahf and me a lot of confusion in debugging a
      situation where we were cloning a reference of a type that didn't
      implement Clone.
      2102d2e2
  12. May 26, 2021
  13. May 25, 2021
Loading