1. 17 Feb, 2017 1 commit
  2. 14 Feb, 2017 2 commits
  3. 01 Feb, 2017 1 commit
  4. 31 Jan, 2017 1 commit
  5. 05 Jan, 2017 1 commit
  6. 20 Dec, 2016 1 commit
    • Karsten Loesing's avatar
      Add methods for loading and saving a history file. · 56840df1
      Karsten Loesing authored
      The history file implementation in `DescriptorReader` writes the
      history file passed in `setExcludeFiles()` immediately after reading
      and parsing the last descriptor and putting it into the queue,
      regardless of whether the application has finished processing those
      descriptors.
      
      If the application fails after the history file is written, it may not
      be able to process descriptors in the next execution that have still
      been in the queue at the time of failing.
      
      This commit deprecates the `setExcludeFiles()` method and replaces it
      by a `setHistoryFile()` and a `saveHistoryFile()` method.
      Applications would use `setHistoryFile()` before starting to read
      descriptors, process all descriptors, perform any cleaning up, and
      then call `saveHistoryFile()`.
      
      Implements #20521.
      56840df1
  7. 19 Oct, 2016 2 commits
  8. 09 Oct, 2016 1 commit
    • Karsten Loesing's avatar
      Avoid running into an IOException and logging it. · f7f56dd8
      Karsten Loesing authored
      When we recently switched from System.err printing to slf4j logging,
      we started logging an IOException that we shouldn't be running into
      and that we simply ignored before.  This exception gets thrown when
      DescriptorReaderImpl attempts to read a parse history file that
      doesn't exist (yet).  We should simply check whether that files exists
      before attempting to read it.
      
      Fixes #20320.
      f7f56dd8
  9. 31 Aug, 2016 2 commits
  10. 24 Aug, 2016 1 commit
  11. 22 Aug, 2016 1 commit
  12. 01 Aug, 2016 1 commit
  13. 06 Jul, 2016 1 commit
  14. 05 Jul, 2016 3 commits
  15. 14 Jun, 2016 1 commit
  16. 31 May, 2016 3 commits
  17. 20 May, 2016 5 commits
  18. 26 Apr, 2016 1 commit
  19. 15 Apr, 2016 4 commits
  20. 11 Apr, 2016 1 commit
  21. 28 Dec, 2015 1 commit
  22. 25 Dec, 2015 1 commit
  23. 17 Dec, 2015 3 commits
  24. 15 Dec, 2015 1 commit
    • Karsten Loesing's avatar
      Allow to distinguish between relay and bridge descriptors. · 957d57be
      Karsten Loesing authored
      So far, we did not distinguish between relay and bridge descriptors in
      the case of server descriptors and extra-info descriptors.  This works
      just fine, because we tried hard to re-use existing keywords in relay
      descriptors for sanitized contents in bridge descriptors to facilitate
      parsing.
      
      However, some applications process both relay and bridge descriptors
      and need to add workarounds for distinguishing between the two.  For
      example, they couldn't just read the contents of CollecTor's recent/
      directory, because they wouldn't be able to know whether a
      ServerDescriptor instance was published by a relay or bridge.  Or even
      worse, if an application expects a given directory to contain relay
      descriptors and that directory suddenly contains bridge descriptors,
      that application wouldn't notice.
      
      This change adds new interfaces to distinguish between relay and
      bridge descriptors.  It still supports the existing two interfaces
      that don't make this distinction.  Those two interfaces are not
      deprecated, because it's okay if an application does not care whether
      a descriptor was published by a relay or bridge.
      
      This change is in parts based on a discussion with atagar.  Thanks!
      
      Implements #17000.
      957d57be