Reimplement low level data sending
authorDenis Shienkov <denis.shienkov@gmail.com>
Mon, 30 Dec 2013 13:03:42 +0000 (17:03 +0400)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 30 Dec 2013 13:05:13 +0000 (14:05 +0100)
commitcb2dd80a4fce3a190be121c80486c6ba407f5fbf
tree2f6fe96954c1edbbde5ca18f6f464246ca383c0f
parent25a17db97a8549e5415d23ba1064e4259930ce7f
Reimplement low level data sending

A feature of writing of the buffer by chunks of 512 bytes (by default)
was introduced earlier as the developers option in order that it was
possible to regulate load of the CPU and quantity of emitted signals of
bytesWritten() just change WriteChunkSize value in source code.

As shows of the practice, the most optimal mode is writing of whole
content of the buffer without division into chunks. It reduces load of
CPU (because reduces a quantity of the events triggers) and also
simplifies the source code.

But potentially there can be negative consequences of writing of whole
buffer directly in case of broken driver:

* A kernel panic (or BSOD) in case of writing a data large than
driver's internal queue.

* Can be transferred not all data from the buffer, but only their part.

Change-Id: I0fcac1ccf3c752579978b4745771accbf8274267
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
src/serialport/qserialport_p.h
src/serialport/qserialport_unix.cpp
src/serialport/qserialport_unix_p.h
src/serialport/qserialport_win.cpp
src/serialport/qserialport_win_p.h
src/serialport/qserialport_wince.cpp