KNetwork::KBufferedSocket

#include <k3bufferedsocket.h>

Inheritance diagram for KNetwork::KBufferedSocket:

Public Member Functions

 KBufferedSocket (const QString &node=QString(), const QString &service=QString(), QObject *parent=nullptr)
 
virtual ~KBufferedSocket ()
 
qint64 bytesAvailable () const override
 
qint64 bytesToWrite () const override
 
bool canReadLine () const override
 
void close () override
 
virtual void closeNow ()
 
void enableRead (bool enable) override
 
void enableWrite (bool enable) override
 
void setInputBuffering (bool enable)
 
void setOutputBuffering (bool enable)
 
void setSocketDevice (KSocketDevice *device) override
 
void waitForConnect ()
 
qint64 waitForMore (int msecs, bool *timeout=nullptr) override
 
- Public Member Functions inherited from KNetwork::KStreamSocket
 KStreamSocket (const QString &node=QString(), const QString &service=QString(), QObject *parent=nullptr)
 
virtual ~KStreamSocket ()
 
virtual bool bind (const QString &node=QString(), const QString &service=QString()) override
 
bool bind (const KResolverEntry &entry) override
 
virtual bool connect (const QString &node=QString(), const QString &service=QString(), OpenMode mode=ReadWrite) override
 
virtual bool connect (const KResolverEntry &entry, OpenMode mode=ReadWrite) override
 
int remainingTimeout () const
 
void setTimeout (int msecs)
 
int timeout () const
 
- Public Member Functions inherited from KNetwork::KClientSocketBase
 KClientSocketBase (QObject *parent)
 
virtual ~KClientSocketBase ()
 
qint64 bytesAvailable () const override
 
void close () override
 
bool disconnect () override
 
bool emitsReadyRead () const
 
bool emitsReadyWrite () const
 
virtual bool flush ()
 
KSocketAddress localAddress () const override
 
KResolverlocalResolver () const
 
const KResolverResultslocalResults () const
 
virtual bool lookup ()
 
bool open (OpenMode mode) override
 
KSocketAddress peerAddress () const override
 
KResolverpeerResolver () const
 
const KResolverResultspeerResults () const
 
void setFamily (int families)
 
void setResolutionEnabled (bool enable)
 
SocketState state () const
 
qint64 waitForMore (int msecs, bool *timeout=nullptr) override
 
- Public Member Functions inherited from KNetwork::KActiveSocketBase
 KActiveSocketBase (QObject *parent)
 
virtual ~KActiveSocketBase ()
 
bool atEnd () const override
 
QString errorString () const
 
bool isSequential () const override
 
bool open (OpenMode mode) override
 
qint64 peek (char *data, qint64 maxlen)
 
qint64 peek (char *data, qint64 maxlen, KSocketAddress &from)
 
qint64 pos () const override
 
qint64 read (char *data, qint64 maxlen)
 
QByteArray read (qint64 len)
 
qint64 read (char *data, qint64 maxlen, KSocketAddress &from)
 
bool seek (qint64) override
 
void setSocketDevice (KSocketDevice *device) override
 
qint64 size () const override
 
void ungetChar (char)
 
qint64 write (const char *data, qint64 len)
 
qint64 write (const QByteArray &data)
 
qint64 write (const char *data, qint64 len, const KSocketAddress &to)
 
- Public Member Functions inherited from QIODevice
 QIODevice (QObject *parent)
 
void aboutToClose ()
 
void bytesWritten (qint64 bytes)
 
void channelBytesWritten (int channel, qint64 bytes)
 
void channelReadyRead (int channel)
 
void commitTransaction ()
 
int currentReadChannel () const const
 
int currentWriteChannel () const const
 
QString errorString () const const
 
bool getChar (char *c)
 
bool isOpen () const const
 
bool isReadable () const const
 
bool isTextModeEnabled () const const
 
bool isTransactionStarted () const const
 
bool isWritable () const const
 
virtual bool open (QIODevice::OpenMode mode)
 
QIODevice::OpenMode openMode () const const
 
qint64 peek (char *data, qint64 maxSize)
 
QByteArray peek (qint64 maxSize)
 
bool putChar (char c)
 
qint64 read (char *data, qint64 maxSize)
 
QByteArray read (qint64 maxSize)
 
QByteArray readAll ()
 
int readChannelCount () const const
 
void readChannelFinished ()
 
QByteArray readLine (qint64 maxSize)
 
qint64 readLine (char *data, qint64 maxSize)
 
void readyRead ()
 
virtual bool reset ()
 
void rollbackTransaction ()
 
void setCurrentReadChannel (int channel)
 
void setCurrentWriteChannel (int channel)
 
void setTextModeEnabled (bool enabled)
 
qint64 skip (qint64 maxSize)
 
void startTransaction ()
 
void ungetChar (char c)
 
virtual bool waitForBytesWritten (int msecs)
 
virtual bool waitForReadyRead (int msecs)
 
qint64 write (const char *data)
 
qint64 write (const QByteArray &byteArray)
 
qint64 write (const char *data, qint64 maxSize)
 
int writeChannelCount () const const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 
- Public Member Functions inherited from KNetwork::KSocketBase
 KSocketBase ()
 
virtual ~KSocketBase ()
 
bool addressReuseable () const
 
bool blocking () const
 
bool broadcast () const
 
SocketError error () const
 
QString errorString () const
 
bool isIPv6Only () const
 
QMutexmutex () const
 
bool noDelay () const
 
virtual bool setAddressReuseable (bool enable)
 
virtual bool setBlocking (bool enable)
 
virtual bool setBroadcast (bool enable)
 
virtual bool setIPv6Only (bool enable)
 
virtual bool setNoDelay (bool enable)
 
int setRequestedCapabilities (int add, int remove=0)
 
KSocketDevicesocketDevice () const
 

Protected Slots

void slotReadActivity () override
 
void slotWriteActivity () override
 
- Protected Slots inherited from KNetwork::KClientSocketBase
virtual void slotReadActivity ()
 
virtual void slotWriteActivity ()
 

Protected Member Functions

qint64 peekData (char *data, qint64 maxlen, KSocketAddress *from) override
 
qint64 readData (char *data, qint64 maxlen, KSocketAddress *from) override
 
qint64 readLineData (char *data, qint64 maxSize) override
 
bool setSocketOptions (int opts) override
 
void stateChanging (SocketState newState) override
 
qint64 writeData (const char *data, qint64 len, const KSocketAddress *to) override
 
- Protected Member Functions inherited from KNetwork::KClientSocketBase
void copyError ()
 
qint64 peekData (char *data, qint64 maxlen, KSocketAddress *from) override
 
qint64 readData (char *data, qint64 maxlen, KSocketAddress *from) override
 
bool setSocketOptions (int opts) override
 
void setState (SocketState state)
 
qint64 writeData (const char *data, qint64 len, const KSocketAddress *to) override
 
- Protected Member Functions inherited from KNetwork::KActiveSocketBase
qint64 readData (char *data, qint64 len) override
 
void resetError ()
 
void setError (SocketError error)
 
qint64 writeData (const char *data, qint64 len) override
 
- Protected Member Functions inherited from QIODevice
void setErrorString (const QString &str)
 
void setOpenMode (QIODevice::OpenMode openMode)
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 
- Protected Member Functions inherited from KNetwork::KSocketBase
bool hasDevice () const
 
void resetError ()
 
void setError (SocketError error)
 
virtual int socketOptions () const
 

Additional Inherited Members

- Public Types inherited from KNetwork::KClientSocketBase
enum  SocketState {
  Idle, HostLookup, HostFound, Bound,
  Connecting, Open, Closing, Unconnected = Bound,
  Connected = Open, Connection = Open
}
 
- Public Types inherited from QIODevice
enum  OpenModeFlag
 
- Public Types inherited from KNetwork::KSocketBase
enum  SocketError {
  NoError = 0, LookupFailure, AddressInUse, AlreadyCreated,
  AlreadyBound, AlreadyConnected, NotConnected, NotBound,
  NotCreated, WouldBlock, ConnectionRefused, ConnectionTimedOut,
  InProgress, NetFailure, NotSupported, Timeout,
  UnknownError, RemotelyDisconnected
}
 
enum  SocketOptions {
  Blocking = 0x01, AddressReuseable = 0x02, IPv6Only = 0x04, Keepalive = 0x08,
  Broadcast = 0x10, NoDelay = 0x20
}
 
- Properties inherited from QObject
 objectName
 
- Signals inherited from KNetwork::KStreamSocket
void timedOut ()
 
- Signals inherited from KNetwork::KClientSocketBase
void aboutToConnect (const KNetwork::KResolverEntry &remote, bool &skip)
 
void bound (const KNetwork::KResolverEntry &local)
 
void closed ()
 
void connected (const KNetwork::KResolverEntry &remote)
 
void gotError (int code)
 
void hostFound ()
 
void readyWrite ()
 
void stateChanged (int newstate)
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Static Public Member Functions inherited from KNetwork::KSocketBase
static QString errorString (SocketError code)
 
static bool isFatalError (int code)
 
- Public Attributes inherited from QIODevice
 Append
 
 ExistingOnly
 
 NewOnly
 
 NotOpen
 
typedef OpenMode
 
 ReadOnly
 
 ReadWrite
 
 Text
 
 Truncate
 
 Unbuffered
 
 WriteOnly
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Detailed Description

Buffered stream sockets.

This class allows the user to create and operate buffered stream sockets such as those used in most Internet connections. This class is also the one that resembles the most to the old QSocket implementation.

Objects of this type operate only in non-blocking mode. A call to setBlocking(true) will result in an error.

Note
Buffered sockets only make sense if you're using them from the main (event-loop) thread. This is actually a restriction imposed by Qt's QSocketNotifier. If you want to use a socket in an auxiliary thread, please use KStreamSocket.
See also
KNetwork::KStreamSocket, KNetwork::KServerSocket
Author
Thiago Macieira thiag[email protected][email protected][email protected]e.org
Deprecated:
Use KSocketFactory or KLocalSocket instead

Definition at line 59 of file k3bufferedsocket.h.

Constructor & Destructor Documentation

KBufferedSocket::KBufferedSocket ( const QString node = QString(),
const QString service = QString(),
QObject parent = nullptr 
)
explicit

Default constructor.

Parameters
nodedestination host
servicedestination service to connect to
parentthe parent object for this object

Definition at line 51 of file k3bufferedsocket.cpp.

KBufferedSocket::~KBufferedSocket ( )
virtual

Destructor.

Definition at line 60 of file k3bufferedsocket.cpp.

Member Function Documentation

qint64 KBufferedSocket::bytesAvailable ( ) const
overridevirtual

Make use of the buffers.

Reimplemented from QIODevice.

Definition at line 99 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::bytesToWrite ( ) const
overridevirtual

Returns the length of the output buffer.

Reimplemented from QIODevice.

Definition at line 251 of file k3bufferedsocket.cpp.

bool KBufferedSocket::canReadLine ( ) const
overridevirtual

Returns true if a line can be read with readLine()

Reimplemented from QIODevice.

Definition at line 268 of file k3bufferedsocket.cpp.

void KBufferedSocket::close ( )
overridevirtual

Closes the socket for new data, but allow data that had been buffered for output with writeData() to be still be written.

See also
closeNow

Reimplemented from QIODevice.

Definition at line 85 of file k3bufferedsocket.cpp.

void KBufferedSocket::closeNow ( )
virtual

Closes the socket and discards any output data that had been buffered with writeData() but that had not yet been written.

See also
close

Definition at line 260 of file k3bufferedsocket.cpp.

void KBufferedSocket::enableRead ( bool  enable)
overridevirtual

Catch changes.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 179 of file k3bufferedsocket.cpp.

void KBufferedSocket::enableWrite ( bool  enable)
overridevirtual

Catch changes.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 198 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::peekData ( char *  data,
qint64  maxlen,
KSocketAddress from 
)
overrideprotectedvirtual

Peeks data from the socket.

The from parameter is always set to peerAddress()

Implements KNetwork::KActiveSocketBase.

Definition at line 134 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::readData ( char *  data,
qint64  maxlen,
KSocketAddress from 
)
overrideprotectedvirtual

Reads data from a socket.

The from parameter is always set to peerAddress()

Implements KNetwork::KActiveSocketBase.

Definition at line 119 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::readLineData ( char *  data,
qint64  maxSize 
)
overrideprotectedvirtual

Improve the readLine performance.

Reimplemented from QIODevice.

Definition at line 277 of file k3bufferedsocket.cpp.

void KBufferedSocket::setInputBuffering ( bool  enable)

Sets the use of input buffering.

Definition at line 229 of file k3bufferedsocket.cpp.

void KBufferedSocket::setOutputBuffering ( bool  enable)

Sets the use of output buffering.

Definition at line 240 of file k3bufferedsocket.cpp.

void KBufferedSocket::setSocketDevice ( KSocketDevice device)
overridevirtual

Be sure to catch new devices.

Reimplemented from KNetwork::KSocketBase.

Definition at line 68 of file k3bufferedsocket.cpp.

bool KBufferedSocket::setSocketOptions ( int  opts)
overrideprotectedvirtual

Buffered sockets can only operate in non-blocking mode.

Reimplemented from KNetwork::KSocketBase.

Definition at line 75 of file k3bufferedsocket.cpp.

void KBufferedSocket::slotReadActivity ( )
overrideprotectedslot

Slot called when there's read activity.

Definition at line 293 of file k3bufferedsocket.cpp.

void KBufferedSocket::slotWriteActivity ( )
overrideprotectedslot

Slot called when there's write activity.

Definition at line 333 of file k3bufferedsocket.cpp.

void KBufferedSocket::stateChanging ( SocketState  newState)
overrideprotectedvirtual

Catch connection to clear the buffers.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 210 of file k3bufferedsocket.cpp.

void KBufferedSocket::waitForConnect ( )

Blocks until the connection is either established, or completely failed.

Definition at line 282 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::waitForMore ( int  msecs,
bool *  timeout = nullptr 
)
overridevirtual

Make use of buffers.

Implements KNetwork::KActiveSocketBase.

Definition at line 108 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::writeData ( const char *  data,
qint64  len,
const KSocketAddress to 
)
overrideprotectedvirtual

Writes data to the socket.

The to parameter is discarded.

Implements KNetwork::KActiveSocketBase.

Definition at line 149 of file k3bufferedsocket.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Fri Aug 7 2020 22:56:42 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.