#include <kbufferedsocket.h>
Signals | |
void | bytesWritten (int bytes) |
Signals inherited from KNetwork::KStreamSocket | |
void | timedOut () |
Signals inherited from KNetwork::KClientSocketBase | |
void | stateChanged (int newstate) |
void | gotError (int code) |
void | hostFound () |
void | bound (const KResolverEntry &local) |
void | aboutToConnect (const KResolverEntry &remote, bool &skip) |
void | connected (const KResolverEntry &remote) |
void | closed () |
void | readyRead () |
void | readyWrite () |
Public Member Functions | |
TDEBufferedSocket (const TQString &node=TQString::null, const TQString &service=TQString::null, TQObject *parent=0L, const char *name=0L) | |
virtual | ~TDEBufferedSocket () |
virtual void | setSocketDevice (TDESocketDevice *device) |
virtual void | close () |
virtual TQ_LONG | bytesAvailable () const |
virtual TQ_LONG | waitForMore (int msecs, bool *timeout=0L) |
virtual TQ_LONG | readBlock (char *data, TQ_ULONG maxlen) |
virtual TQ_LONG | readBlock (char *data, TQ_ULONG maxlen, TDESocketAddress &from) |
virtual TQ_LONG | peekBlock (char *data, TQ_ULONG maxlen) |
virtual TQ_LONG | peekBlock (char *data, TQ_ULONG maxlen, TDESocketAddress &from) |
virtual TQ_LONG | writeBlock (const char *data, TQ_ULONG len) |
virtual TQ_LONG | writeBlock (const char *data, TQ_ULONG len, const TDESocketAddress &to) |
virtual void | enableRead (bool enable) |
virtual void | enableWrite (bool enable) |
void | setInputBuffering (bool enable) |
TDEIOBufferBase * | inputBuffer () |
void | setOutputBuffering (bool enable) |
TDEIOBufferBase * | outputBuffer () |
virtual TQ_ULONG | bytesToWrite () const |
virtual void | closeNow () |
bool | canReadLine () const |
TQCString | readLine () |
void | waitForConnect () |
void | reset () |
Public Member Functions inherited from KNetwork::KStreamSocket | |
KStreamSocket (const TQString &node=TQString::null, const TQString &service=TQString::null, TQObject *parent=0L, const char *name=0L) | |
virtual | ~KStreamSocket () |
int | timeout () const |
int | remainingTimeout () const |
void | setTimeout (int msecs) |
virtual bool | bind (const TQString &node=TQString::null, const TQString &service=TQString::null) |
virtual bool | bind (const KResolverEntry &entry) |
virtual bool | connect (const TQString &node=TQString::null, const TQString &service=TQString::null) |
virtual bool | connect (const KResolverEntry &entry) |
Public Member Functions inherited from KNetwork::KClientSocketBase | |
KClientSocketBase (TQObject *parent, const char *name) | |
virtual | ~KClientSocketBase () |
SocketState | state () const |
KResolver & | peerResolver () const |
const KResolverResults & | peerResults () const |
KResolver & | localResolver () const |
const KResolverResults & | localResults () const |
void | setResolutionEnabled (bool enable) |
void | setFamily (int families) |
virtual bool | lookup () |
void | connectToHost (const TQString &host, TQ_UINT16 port) |
virtual bool | disconnect () |
virtual bool | open (int) |
virtual void | flush () |
virtual TDESocketAddress | localAddress () const |
virtual TDESocketAddress | peerAddress () const |
bool | emitsReadyRead () const |
bool | emitsReadyWrite () const |
Public Member Functions inherited from KNetwork::KActiveSocketBase | |
KActiveSocketBase () | |
virtual | ~KActiveSocketBase () |
virtual Offset | size () const |
virtual Offset | at () const |
virtual bool | at (Offset) |
virtual bool | atEnd () const |
virtual int | getch () |
virtual int | putch (int ch) |
virtual int | ungetch (int) |
Public Member Functions inherited from KNetwork::TDESocketBase | |
TDESocketBase () | |
virtual | ~TDESocketBase () |
virtual bool | setBlocking (bool enable) |
bool | blocking () const |
virtual bool | setAddressReuseable (bool enable) |
bool | addressReuseable () const |
virtual bool | setIPv6Only (bool enable) |
bool | isIPv6Only () const |
virtual bool | setBroadcast (bool enable) |
bool | broadcast () const |
TDESocketDevice * | socketDevice () const |
int | setRequestedCapabilities (int add, int remove=0) |
SocketError | error () const |
TQString | errorString () const |
TQMutex * | mutex () const |
Protected Slots | |
virtual void | slotReadActivity () |
virtual void | slotWriteActivity () |
Protected Slots inherited from KNetwork::KClientSocketBase | |
virtual void | slotReadActivity () |
virtual void | slotWriteActivity () |
Protected Member Functions | |
virtual bool | setSocketOptions (int opts) |
virtual void | stateChanging (SocketState newState) |
Protected Member Functions inherited from KNetwork::KClientSocketBase | |
void | setState (SocketState state) |
void | copyError () |
Protected Member Functions inherited from KNetwork::KActiveSocketBase | |
void | setError (int status, SocketError error) |
void | resetError () |
Protected Member Functions inherited from KNetwork::TDESocketBase | |
virtual int | socketOptions () const |
bool | hasDevice () const |
void | setError (SocketError error) |
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 KNetwork::TDESocketBase | |
enum | SocketOptions { Blocking = 0x01 , AddressReuseable = 0x02 , IPv6Only = 0x04 , Keepalive = 0x08 , Broadcast = 0x10 } |
enum | SocketError { NoError = 0 , LookupFailure , AddressInUse , AlreadyCreated , AlreadyBound , AlreadyConnected , NotConnected , NotBound , NotCreated , WouldBlock , ConnectionRefused , ConnectionTimedOut , InProgress , NetFailure , NotSupported , Timeout , UnknownError , RemotelyDisconnected } |
Static Public Member Functions inherited from KNetwork::TDESocketBase | |
static TQString | errorString (SocketError code) |
static bool | isFatalError (int code) |
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 TQSocketNotifier. If you want to use a socket in an auxiliary thread, please use KStreamSocket.
Definition at line 58 of file kbufferedsocket.h.
Constructor & Destructor Documentation
◆ TDEBufferedSocket()
TDEBufferedSocket::TDEBufferedSocket | ( | const TQString & | node = TQString::null , |
const TQString & | service = TQString::null , |
||
TQObject * | parent = 0L , |
||
const char * | name = 0L |
||
) |
Default constructor.
- Parameters
-
node destination host service destination service to connect to parent the parent object for this object name the internal name for this object
Definition at line 50 of file kbufferedsocket.cpp.
◆ ~TDEBufferedSocket()
|
virtual |
Destructor.
Definition at line 59 of file kbufferedsocket.cpp.
Member Function Documentation
◆ bytesAvailable()
|
virtual |
Make use of the buffers.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 96 of file kbufferedsocket.cpp.
◆ bytesToWrite()
|
virtual |
Returns the length of the output buffer.
Definition at line 282 of file kbufferedsocket.cpp.
◆ bytesWritten
|
signal |
This signal is emitted whenever data is written.
◆ canReadLine()
bool TDEBufferedSocket::canReadLine | ( | ) | const |
Returns true if a line can be read with readLine.
Definition at line 297 of file kbufferedsocket.cpp.
◆ close()
|
virtual |
Closes the socket for new data, but allow data that had been buffered for output with writeBlock to be still be written.
- See also
- closeNow
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 82 of file kbufferedsocket.cpp.
◆ closeNow()
|
virtual |
Closes the socket and discards any output data that had been buffered with writeBlock but that had not yet been written.
- See also
- close
Definition at line 290 of file kbufferedsocket.cpp.
◆ enableRead()
|
virtual |
Catch changes.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 197 of file kbufferedsocket.cpp.
◆ enableWrite()
|
virtual |
Catch changes.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 214 of file kbufferedsocket.cpp.
◆ inputBuffer()
TDEIOBufferBase * TDEBufferedSocket::inputBuffer | ( | ) |
Retrieves the input buffer object.
Definition at line 258 of file kbufferedsocket.cpp.
◆ outputBuffer()
TDEIOBufferBase * TDEBufferedSocket::outputBuffer | ( | ) |
Retrieves the output buffer object.
Definition at line 277 of file kbufferedsocket.cpp.
◆ peekBlock() [1/2]
|
virtual |
Peeks data from the socket.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 138 of file kbufferedsocket.cpp.
◆ peekBlock() [2/2]
|
virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Peeks data from the socket.
The from
parameter is always set to peerAddress()
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 154 of file kbufferedsocket.cpp.
◆ readBlock() [1/2]
|
virtual |
Reads data from the socket.
Make use of buffers.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 116 of file kbufferedsocket.cpp.
◆ readBlock() [2/2]
|
virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Reads data from a socket.
The from
parameter is always set to peerAddress()
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 132 of file kbufferedsocket.cpp.
◆ readLine()
TQCString TDEBufferedSocket::readLine | ( | ) |
Reads a line of data from the socket buffers.
Definition at line 305 of file kbufferedsocket.cpp.
◆ reset()
|
inline |
- Deprecated:
- Closes the socket.
This function is provided to ease porting from KExtendedSocket, which required a call to reset() in order to be able to connect again using the same device. This is not necessary in TDEBufferedSocket any more.
Definition at line 246 of file kbufferedsocket.h.
◆ setInputBuffering()
void TDEBufferedSocket::setInputBuffering | ( | bool | enable | ) |
Sets the use of input buffering.
Definition at line 244 of file kbufferedsocket.cpp.
◆ setOutputBuffering()
void TDEBufferedSocket::setOutputBuffering | ( | bool | enable | ) |
Sets the use of output buffering.
Definition at line 263 of file kbufferedsocket.cpp.
◆ setSocketDevice()
|
virtual |
Be sure to catch new devices.
Reimplemented from KNetwork::TDESocketBase.
Definition at line 67 of file kbufferedsocket.cpp.
◆ setSocketOptions()
|
protectedvirtual |
Buffered sockets can only operate in non-blocking mode.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 73 of file kbufferedsocket.cpp.
◆ slotReadActivity
|
protectedvirtualslot |
Slot called when there's read activity.
Definition at line 320 of file kbufferedsocket.cpp.
◆ slotWriteActivity
|
protectedvirtualslot |
Slot called when there's write activity.
Definition at line 367 of file kbufferedsocket.cpp.
◆ stateChanging()
|
protectedvirtual |
Catch connection to clear the buffers.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 226 of file kbufferedsocket.cpp.
◆ waitForConnect()
void TDEBufferedSocket::waitForConnect | ( | ) |
Blocks until the connection is either established, or completely failed.
Definition at line 310 of file kbufferedsocket.cpp.
◆ waitForMore()
|
virtual |
Make use of buffers.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 104 of file kbufferedsocket.cpp.
◆ writeBlock() [1/2]
|
virtual |
Writes data to the socket.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 160 of file kbufferedsocket.cpp.
◆ writeBlock() [2/2]
|
virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Writes data to the socket.
The to
parameter is discarded.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 190 of file kbufferedsocket.cpp.
The documentation for this class was generated from the following files: