D29265: Implement buffering in the DataStream class, to improve performance on Windows.
    David Faure 
    noreply at phabricator.kde.org
       
    Tue Apr 28 19:49:18 BST 2020
    
    
  
dfaure created this revision.
dfaure added reviewers: dvratil, kfunk.
Herald added a project: KDE PIM.
Herald added a subscriber: kde-pim.
dfaure requested review of this revision.
REVISION SUMMARY
  The internal QWindowsPipeWriter in Qt doesn't do any buffering, so the first 8
  bytes (the tag) were sent first, and the rest only later.
  
  This solution uses an explicit flush() method, while doing the flushing
  in the destructor would have been much more convenient and less
  error-prone, but the flushing can throw an exception, so we need
  to do it inside the try/catch -- and certainly not when the stream
  is deleted because another exception happened. This would all be
  so much simpler without the use of exceptions :-)
TEST PLAN
  all tests pass (on Linux)
REPOSITORY
  R165 Akonadi
BRANCH
  2020_04_implement_buffering_in_DataStream_for_Windows
REVISION DETAIL
  https://phabricator.kde.org/D29265
AFFECTED FILES
  autotests/private/protocoltest.h
  autotests/server/fakeakonadiserver.cpp
  autotests/server/fakeclient.cpp
  autotests/server/fakeclient.h
  src/core/connection.cpp
  src/private/datastream_p.cpp
  src/private/datastream_p_p.h
  src/private/protocol.cpp
  src/private/protocol_p.h
  src/private/protocolgen/cppgenerator.cpp
  src/server/connection.cpp
  src/server/connection.h
  src/server/notificationsubscriber.cpp
To: dfaure, dvratil, kfunk
Cc: kde-pim, fbampaloukas, dcaliste, dvasin, rodsevich, winterz, vkrause, mlaurent, knauss, dvratil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20200428/8c05f6e2/attachment.html>
    
    
More information about the kde-pim
mailing list