[Box Backup-commit] [boxbackup/boxbackup] 5e5066: Refactor headers to reduce coupling

GitHub noreply at github.com
Sun Feb 18 18:06:43 GMT 2018


  Branch: refs/heads/s3_support
  Home:   https://github.com/boxbackup/boxbackup
  Commit: 5e506665e5fd65b0a0e775f03dc2ba6ddb4d200f
      https://github.com/boxbackup/boxbackup/commit/5e506665e5fd65b0a0e775f03dc2ba6ddb4d200f
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2018-02-18 (Sun, 18 Feb 2018)

  Changed paths:
    M lib/backupstore/BackupStoreDirectory.h
    M lib/bbackupd/BackupClientInodeToIDMap.h
    M lib/bbackupd/BackupDaemonInterface.h
    M lib/bbackupd/Win32ServiceFunctions.cpp
    M lib/bbackupquery/BoxBackupCompareParams.h
    M lib/common/Box.h
    M lib/common/BoxException.h
    M lib/common/BoxTime.cpp
    M lib/common/BufferedStream.cpp
    M lib/common/BufferedStream.h
    M lib/common/BufferedWriteStream.cpp
    M lib/common/Configuration.h
    M lib/common/ConversionString.cpp
    M lib/common/DebugMemLeakFinder.cpp
    A lib/common/Exception.h
    M lib/common/FdGetLine.cpp
    M lib/common/FileStream.cpp
    M lib/common/FileStream.h
    M lib/common/Guards.h
    M lib/common/IOStreamGetLine.cpp
    M lib/common/LineBuffer.cpp
    M lib/common/LineBuffer.h
    M lib/common/Logging.cpp
    M lib/common/MainHelper.cpp
    M lib/common/MemLeakFindOn.h
    M lib/common/MemLeakFinder.h
    M lib/common/NamedLock.cpp
    M lib/common/PartialReadStream.cpp
    M lib/common/RateLimitingStream.cpp
    M lib/common/ReadGatherStream.cpp
    M lib/common/ReadLoggingStream.cpp
    M lib/common/StreamableMemBlock.cpp
    M lib/common/Test.cpp
    M lib/common/Timer.cpp
    M lib/common/UnixUser.cpp
    M lib/common/Utils.cpp
    M lib/common/WaitForEvent.cpp
    M lib/common/ZeroStream.cpp
    M lib/common/makeexception.pl.in
    M lib/compress/Compress.h
    M lib/compress/CompressStream.cpp
    M lib/crypto/CipherAES.cpp
    M lib/crypto/CipherBlowfish.cpp
    M lib/crypto/CipherContext.cpp
    M lib/crypto/CipherContext.h
    M lib/crypto/CipherDescription.h
    M lib/crypto/CryptoUtils.cpp
    M lib/crypto/CryptoUtils.h
    M lib/crypto/MD5Digest.h
    M lib/crypto/Random.cpp
    M lib/httpserver/HTTPHeaders.cpp
    M lib/intercept/intercept.cpp
    M lib/raidfile/RaidFileController.cpp
    M lib/raidfile/RaidFileUtil.h
    M lib/server/LocalProcessStream.cpp
    M lib/server/Message.cpp
    M lib/server/Protocol.cpp
    M lib/server/ProtocolUncertainStream.cpp
    M lib/server/SSLLib.cpp
    M lib/server/Socket.cpp
    M lib/server/SocketListen.h
    M lib/server/SocketStream.cpp
    M lib/server/SocketStreamTLS.cpp
    M lib/server/TLSContext.cpp
    M lib/server/WinNamedPipeStream.h
    M lib/server/makeprotocol.pl.in

  Log Message:
  -----------
  Refactor headers to reduce coupling

Remove Logging and BoxException dependencies, ASSERT and THROW_* macros from
Box.h, move them into a new header, Exception.h (not to be confused with
BoxException.h, which just declares the BoxException class).

This unfortunately means that a lot of C++ files now need to include
Exception.h, and many more that silently depended on <string> being imported
now need to import it themselves, or just forward-declare it if they don't need
a definition.

Also simplify the logic for enabling memory leak detection. It's now always on
in debug builds unless disabled by defining PLATFORM_DISABLE_MEM_LEAK_TESTING
(which only Windows does) and always off in release builds.


  Commit: b4507a6a903d038c9399d1f0565a4227596ddc24
      https://github.com/boxbackup/boxbackup/commit/b4507a6a903d038c9399d1f0565a4227596ddc24
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2018-02-18 (Sun, 18 Feb 2018)

  Changed paths:
    M lib/common/LineBuffer.h

  Log Message:
  -----------
  LineBuffer.h: update header comment and #include guard for new filename


  Commit: 0baa2a0c65cc164ba321446aa9be006e6e46a51e
      https://github.com/boxbackup/boxbackup/commit/0baa2a0c65cc164ba321446aa9be006e6e46a51e
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2018-02-18 (Sun, 18 Feb 2018)

  Changed paths:
    M lib/common/Logging.cpp
    M lib/common/Logging.h
    M test/common/testcommon.cpp

  Log Message:
  -----------
  Logging: improve performance by not generating message unnecessarily

Avoid building an ostringstream, writing all logged values to it and converting
it to a string, for log messages that no logger is currently interested in
(e.g. TRACE logging most of the time). Cache this "lowest common log level" and
update it when any logger is reconfigured, added or removed.


  Commit: 0569184e7476d7e0b638aa1ae577cc1e9d7d0a3e
      https://github.com/boxbackup/boxbackup/commit/0569184e7476d7e0b638aa1ae577cc1e9d7d0a3e
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2018-02-18 (Sun, 18 Feb 2018)

  Changed paths:
    M lib/httpserver/HTTPQueryDecoder.cpp

  Log Message:
  -----------
  HTTPQueryDecoder::URLEncode: speed up by processing larger chunks

Scan the string for characters which need URL-encoding and append the substring
before that in one go. If the entire string does not need URL-encoding, just
return it without any further processing.


  Commit: 6e17b14d2848e11d2acda413ecfc1d61a196d1d2
      https://github.com/boxbackup/boxbackup/commit/6e17b14d2848e11d2acda413ecfc1d61a196d1d2
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2018-02-18 (Sun, 18 Feb 2018)

  Changed paths:
    M lib/common/Utils.cpp

  Log Message:
  -----------
  Fix incorrect use of abi::__cxa_demangle

The buffer, if passed, should be allocated with malloc, not statically. In this
case we don't need to allocate one first, we can use the default behaviour
where abi::__cxa_demangle allocates one for us.


Compare: https://github.com/boxbackup/boxbackup/compare/68af0c450af8...6e17b14d2848


More information about the Boxbackup-commit mailing list