diff options
| author | Alex Trotsenko <alex1973tr@gmail.com> | 2020-08-06 18:57:43 +0300 |
|---|---|---|
| committer | Alex Trotsenko <alex1973tr@gmail.com> | 2020-08-11 17:21:45 +0300 |
| commit | 8f53d66e3e412911f4648e88e3e753043fcbfad8 (patch) | |
| tree | a14e015a4517f0d99a137cbf3e1ad0106ce665ed /src/network/socket/qlocalsocket_tcp.cpp | |
| parent | a99cee1c7b095a552c04c2aa832574a6f0f44720 (diff) | |
Introduce QIODevice::skipData()
QIODevice::skip() called a virtual QIODevicePrivate::skip() to
implement an efficient skipping on I/O devices for the internal
subclasses. The user subclasses cannot inherit QIODevicePrivate, so
this functionality was not externally accessible.
This patch replaces QIODevicePrivate::skip() with a virtual protected
QIODevice::skipData(). While the basic implementation simply discards
the data by reading into a dummy buffer, users can reimplement this
function to improve the performance in their subclasses.
[ChangeLog][QtCore][QIODevice] Added virtual protected skipData().
Now, subclasses can implement device-specific skipping of data.
Change-Id: I9522f7f7ab9d03ac06e972a525f8ec2fa909a617
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/network/socket/qlocalsocket_tcp.cpp')
| -rw-r--r-- | src/network/socket/qlocalsocket_tcp.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/network/socket/qlocalsocket_tcp.cpp b/src/network/socket/qlocalsocket_tcp.cpp index 1c63d161874..2f0179f40a7 100644 --- a/src/network/socket/qlocalsocket_tcp.cpp +++ b/src/network/socket/qlocalsocket_tcp.cpp @@ -83,11 +83,6 @@ void QLocalSocketPrivate::setSocket(QLocalUnixSocket* socket) tcpSocket->setParent(q); } -qint64 QLocalSocketPrivate::skip(qint64 maxSize) -{ - return tcpSocket->skip(maxSize); -} - void QLocalSocketPrivate::_q_errorOccurred(QAbstractSocket::SocketError socketError) { Q_Q(QLocalSocket); @@ -306,6 +301,11 @@ qint64 QLocalSocket::readData(char *data, qint64 c) return d->tcpSocket->read(data, c); } +qint64 QLocalSocket::skipData(qint64 maxSize) +{ + return d_func()->tcpSocket->skip(maxSize); +} + qint64 QLocalSocket::writeData(const char *data, qint64 c) { Q_D(QLocalSocket); |
