1. 19 Jun, 2021 1 commit
    • Cecylia Bocovich's avatar
      Store net.Addr in clientIDAddrMap · 6634f2be
      Cecylia Bocovich authored
      This fixes a stats collection bug where we were converting client
      addresses between a string and net.Addr using the clientAddr function
      multiple times, resulting in an empty string for all addresses.
      6634f2be
  2. 14 Jun, 2021 1 commit
  3. 07 Jun, 2021 1 commit
  4. 02 Jun, 2021 2 commits
  5. 24 May, 2021 2 commits
    • David Fifield's avatar
      Release resources in client Transport.Dial on error. · ae7cc478
      David Fifield authored
      Make a stack of cleanup functions to run (as with defer), but clear the
      stack before returning if no error occurs.
      
      Uselessly pushing the stream.Close() cleanup just before clearing the
      stack is an intentional safeguard, for in case additional operations are
      added before the return in the future.
      
      Fixes #40042.
      ae7cc478
    • David Fifield's avatar
      Fix error handling around transport.Dial. · 01a96c7d
      David Fifield authored
      The code checked for and displayed an error, but would then go on to
      call copyLoop on the nil Conn returned from transport.Dial. Add a return
      in that case, and put the cleanup operations in defer. Also remove an
      obsolete comment about an empty address. Obsolete because:
      !31 (comment 2733279)
      01a96c7d
  6. 21 May, 2021 1 commit
  7. 20 May, 2021 1 commit
    • Arlo Breault's avatar
      Remove sync.Once from around logMetrics · 7ef49272
      Arlo Breault authored
      Follow up to 160ae2dd
      
      Analysis by @dcf,
      
      > I don't think the sync.Once around logMetrics is necessary anymore.
      Its original purpose was to inhibit logging on later file handles of
      metrics.log, if there were more than one opened. See 171c55a9 and #29734
      (comment 2593039) "Making a singleton *Metrics variable causes problems
      with how Convey does tests. It shouldn't be called more than once, but
      for now I'm using sync.Once on the logging at least so it's explicit."
      Commit ba4fe1a7 changed it so that metrics.log is opened in main, used
      to create a *log.Logger, and that same instance of *log.Logger is passed
      to both NewMetrics and NewBrokerContext. It's safe to share the same
      *log.Logger across multiple BrokerContext.
      7ef49272
  8. 19 May, 2021 1 commit
    • Arlo Breault's avatar
      Make promMetrics not a global · 160ae2dd
      Arlo Breault authored
      Doesn't seem like it needs to exist outside of the metrics struct.
      
      Also, the call to logMetrics is moved to the constructor.  A metrics
      instance is only created when a BrokerContext is created, which only
      happens at startup.  The sync of only doing that once is left for
      documentation purposes, since it doesn't hurt, but also seems redundant.
      160ae2dd
  9. 12 May, 2021 4 commits
  10. 26 Apr, 2021 3 commits
  11. 22 Apr, 2021 1 commit
  12. 01 Apr, 2021 1 commit
  13. 25 Mar, 2021 1 commit
  14. 19 Mar, 2021 3 commits
  15. 06 Mar, 2021 1 commit
  16. 02 Feb, 2021 1 commit
  17. 25 Jan, 2021 2 commits
  18. 12 Jan, 2021 1 commit
  19. 17 Dec, 2020 1 commit
  20. 16 Dec, 2020 1 commit
  21. 05 Dec, 2020 3 commits
  22. 04 Dec, 2020 1 commit
    • Cecylia Bocovich's avatar
      Create new smux session for each SOCKS connection · 114df695
      Cecylia Bocovich authored
      Each SOCKS connection has its own set of snowflakes and broker poll
      loop. Since the session manager was tied to a single set of snowflakes,
      this resulted in a bug where RedialPacketConn would sometimes try to
      pull snowflakes from a previously melted pool. The fix is to maintain
      separate smux sessions for each SOCKS connection, tied to its own
      snowflake pool.
      114df695
  23. 27 Nov, 2020 1 commit
    • Philipp Winter's avatar
      Sort snowflake-ips stats by country count. · 5efcde51
      Philipp Winter authored
      We currently don't sort the snowflake-ips metrics:
      
          snowflake-ips CA=1,DE=1,AR=1,NL=1,FR=1,GB=2,US=4,CH=1
      
      To facilitate eyeballing our metrics, this patch sorts snowflake-ips by
      value.  If the value is identical, we sort by string, i.e.:
      
          snowflake-ips US=4,GB=2,AR=1,CA=1,CH=1,DE=1,FR=1,NL=1
      
      This patch fixes #40011
      5efcde51
  24. 23 Nov, 2020 1 commit
    • Cecylia Bocovich's avatar
      Remove for loop around broker.Negotiate · 665d76c5
      Cecylia Bocovich authored
      Instead of continuously polling the broker until the client receives a
      snowflake, fail back to the Connect() loop and try again to collect more
      peers after ReconnectTimeout.
      665d76c5
  25. 20 Nov, 2020 2 commits
  26. 18 Nov, 2020 2 commits