• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDECore

KNetwork::KBufferedSocket

KNetwork::KBufferedSocket Class Reference

#include <k3bufferedsocket.h>

Inheritance diagram for KNetwork::KBufferedSocket:

Inheritance graph
[legend]

List of all members.


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 <thiago@kde.org>

Definition at line 57 of file k3bufferedsocket.h.


Public Member Functions

virtual qint64 bytesAvailable () const
virtual qint64 bytesToWrite () const
virtual bool canReadLine () const
virtual void close ()
virtual void closeNow ()
virtual void enableRead (bool enable)
virtual void enableWrite (bool enable)
 KBufferedSocket (const QString &node=QString(), const QString &service=QString(), QObject *parent=0L)
void setInputBuffering (bool enable)
void setOutputBuffering (bool enable)
virtual void setSocketDevice (KSocketDevice *device)
void waitForConnect ()
virtual qint64 waitForMore (int msecs, bool *timeout=0L)
virtual ~KBufferedSocket ()

Protected Slots

virtual void slotReadActivity ()
virtual void slotWriteActivity ()

Protected Member Functions

virtual qint64 peekData (char *data, qint64 maxlen, KSocketAddress *from)
virtual qint64 readData (char *data, qint64 maxlen, KSocketAddress *from)
virtual qint64 readLineData (char *data, qint64 maxSize)
virtual bool setSocketOptions (int opts)
virtual void stateChanging (SocketState newState)
virtual qint64 writeData (const char *data, qint64 len, const KSocketAddress *to)

Constructor & Destructor Documentation

KBufferedSocket::KBufferedSocket ( const QString &  node = QString(),
const QString &  service = QString(),
QObject *  parent = 0L 
) [explicit]

Default constructor.

Parameters:
node destination host
service destination service to connect to
parent the parent object for this object

Definition at line 52 of file k3bufferedsocket.cpp.

KBufferedSocket::~KBufferedSocket (  )  [virtual]

Destructor.

Definition at line 61 of file k3bufferedsocket.cpp.


Member Function Documentation

qint64 KBufferedSocket::bytesAvailable (  )  const [virtual]

Make use of the buffers.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 99 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::bytesToWrite (  )  const [virtual]

Returns the length of the output buffer.

Definition at line 258 of file k3bufferedsocket.cpp.

bool KBufferedSocket::canReadLine (  )  const [virtual]

Returns true if a line can be read with readLine.

Definition at line 273 of file k3bufferedsocket.cpp.

void KBufferedSocket::close (  )  [virtual]

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 KNetwork::KClientSocketBase.

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 266 of file k3bufferedsocket.cpp.

void KBufferedSocket::enableRead ( bool  enable  )  [virtual]

Catch changes.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 183 of file k3bufferedsocket.cpp.

void KBufferedSocket::enableWrite ( bool  enable  )  [virtual]

Catch changes.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 200 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::peekData ( char *  data,
qint64  maxlen,
KSocketAddress *  from 
) [protected, virtual]

Peeks data from the socket.

The from parameter is always set to peerAddress()

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 135 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::readData ( char *  data,
qint64  maxlen,
KSocketAddress *  from 
) [protected, virtual]

Reads data from a socket.

The from parameter is always set to peerAddress()

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 119 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::readLineData ( char *  data,
qint64  maxSize 
) [protected, virtual]

Improve the readLine performance.

Reimplemented from QIODevice.

Definition at line 281 of file k3bufferedsocket.cpp.

void KBufferedSocket::setInputBuffering ( bool  enable  ) 

Sets the use of input buffering.

Definition at line 230 of file k3bufferedsocket.cpp.

void KBufferedSocket::setOutputBuffering ( bool  enable  ) 

Sets the use of output buffering.

Definition at line 244 of file k3bufferedsocket.cpp.

void KBufferedSocket::setSocketDevice ( KSocketDevice *  device  )  [virtual]

Be sure to catch new devices.

Reimplemented from KNetwork::KActiveSocketBase.

Definition at line 69 of file k3bufferedsocket.cpp.

bool KBufferedSocket::setSocketOptions ( int  opts  )  [protected, virtual]

Buffered sockets can only operate in non-blocking mode.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 76 of file k3bufferedsocket.cpp.

void KBufferedSocket::slotReadActivity (  )  [protected, virtual, slot]

Slot called when there's read activity.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 296 of file k3bufferedsocket.cpp.

void KBufferedSocket::slotWriteActivity (  )  [protected, virtual, slot]

Slot called when there's write activity.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 343 of file k3bufferedsocket.cpp.

void KBufferedSocket::stateChanging ( SocketState  newState  )  [protected, virtual]

Catch connection to clear the buffers.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 212 of file k3bufferedsocket.cpp.

void KBufferedSocket::waitForConnect (  ) 

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

Definition at line 286 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::waitForMore ( int  msecs,
bool *  timeout = 0L 
) [virtual]

Make use of buffers.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 107 of file k3bufferedsocket.cpp.

qint64 KBufferedSocket::writeData ( const char *  data,
qint64  len,
const KSocketAddress *  to 
) [protected, virtual]

Writes data to the socket.

The to parameter is discarded.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 151 of file k3bufferedsocket.cpp.


The documentation for this class was generated from the following files:
  • k3bufferedsocket.h
  • k3bufferedsocket.cpp

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal