Optimize of writing sequence algorithm
authorDenis Shienkov <denis.shienkov@gmail.com>
Thu, 23 Jan 2014 11:32:13 +0000 (15:32 +0400)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sun, 2 Feb 2014 09:34:54 +0000 (10:34 +0100)
commit1824ad0a6e97e293098c94a038abd7b2343bf572
tree8d5fd731b449201e80be837a065d9c2fc0830383
parentdf6baa1de99a65dd23586cb2fb308c3a24dd198e
Optimize of writing sequence algorithm

* The writeSequenceStarted shall be set to true after a successful call
of WriteFile() and to be dropped to false in case of write completion.

* The method startAsyncWrite() shall not call WriteFile() if the
writeBuffer is empty or writing sequence is already started. Also now
there is no sense to check a validity of pointers on data in writeBuffer
before call of WriteFile() because writeBuffer can not be empty.

* It is also expedient to free the writeBuffer in _q_completeAsyncWrite()
method only if numberOfBytesTransferred is not zero.

Tested on Windows 8 with the on-board and the USB (PL2303) serial ports.

Change-Id: Ib70276705fcc3f2396bf7dd6cf6977b62382a64b
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
src/serialport/qserialport_win.cpp