#include <CeylanAnonymousProtocolAwareStreamSocket.h>
Public Types | |
enum | TextOutputFormat { rawText, html } |
Defines what text output formats for TextDisplayable instances are available. More... | |
Public Member Functions | |
AnonymousProtocolAwareStreamSocket (System::FileDescriptor listeningFD, Middleware::ProtocolServer &protocolServerToTrigger) | |
Constructs a new server-side socket dedicated to an accepted connection, and links it with a protocol server so that this socket can notice it of incoming data. | |
AnonymousProtocolAwareStreamSocket (System::FileDescriptor listeningFD) | |
Constructs a new server-side socket dedicated to an accepted connection. | |
virtual | ~AnonymousProtocolAwareStreamSocket () throw () |
Virtual destructor. | |
virtual bool | hasProtocolServer () const |
Returns whether this socket is associated with a protocol server. | |
virtual Middleware::ProtocolServer & | getProtocolServer () |
Returns the owned protocol server managing this socket communications. | |
virtual void | setProtocolServer (Middleware::ProtocolServer &newProtocolServer) |
Sets the new protocol server managing this socket communications. | |
virtual const std::string | toString (Ceylan::VerbosityLevels level=Ceylan::high) const |
Returns a user-friendly description of the state of this object. | |
virtual bool | isConnected () const |
Tells whether this socket is currently connected to a client. | |
virtual void | setBlocking (bool newStatus) |
Sets the blocking mode of this stream socket. | |
virtual bool | hasAvailableData () const |
Tells whether there is data available on input, i.e. | |
virtual System::Size | read (char *buffer, System::Size maxLength) |
Reads up to maxLength bytes from this socket to specified buffer. | |
virtual System::Size | write (const std::string &message) |
Writes message to this socket. | |
virtual System::Size | write (const char *buffer, System::Size maxLength) |
Writes up to maxLength bytes from the specified buffer to this socket. | |
System::FileDescriptor | getOriginalFileDescriptor () const |
Returns the original file descriptor associated with the socket on its creation. | |
virtual System::FileDescriptor | getFileDescriptorForTransport () const |
Returns the file descriptor that should be used for that socket to communicate with its peer(s). | |
virtual Port | getLocalPort () const |
Returns the local port number of the socket. | |
virtual Port | getPeerPort () const |
Returns the remote port number this socket is linked to, i.e. | |
virtual IPAddress * | getLocalIPAddress () const |
Returns the local IP address corresponding to this socket. | |
virtual IPAddress * | getPeerIPAddress () const |
Returns the remote IP address this socket is linked to, i.e. | |
virtual System::StreamID | getInputStreamID () const |
Returns the file descriptor for this socket, which is a StreamID. | |
virtual System::StreamID | getOutputStreamID () const |
Returns the file descriptor for this socket, which is a StreamID. | |
bool | isSelected () const |
Tells if the stream has data to read. | |
bool | isFaulty () const |
virtual void | clearInput () |
Clears the input stream. | |
virtual Ceylan::Sint8 | readSint8 () |
Returns a Ceylan::Sint8 read from this input stream. | |
virtual Ceylan::Uint8 | readUint8 () |
Returns a Ceylan::Uint8 read from this input stream. | |
virtual Ceylan::Sint16 | readSint16 () |
Returns a Ceylan::Sint16 read from this input stream. | |
virtual Ceylan::Uint16 | readUint16 () |
Returns a Ceylan::Uint16 read from this input stream. | |
virtual Ceylan::Sint32 | readSint32 () |
Returns a Ceylan::Sint32 read from this input stream. | |
virtual Ceylan::Uint32 | readUint32 () |
Returns a Ceylan::Uint32 read from this input stream. | |
virtual Ceylan::Float32 | readFloat32 () |
Returns a Ceylan::Float32 read from this input stream. | |
virtual Ceylan::Float64 | readFloat64 () |
Returns a Ceylan::Float64 read from this input stream. | |
virtual void | readString (std::string &result) |
Reads a string from this input stream, and stores it in the specified string. | |
virtual void | skipWhitespaces (Ceylan::Uint8 &firstNonSpace) |
Reads from this input stream as long as there are whitespaces to be read. | |
bool | isBlocking () const |
Tells whether this stream is in blocking mode (if true), or in non-blocking mode (if false). | |
virtual void | writeSint8 (Ceylan::Sint8 toWrite) |
Writes a Ceylan::Sint8 to this output stream. | |
virtual void | writeUint8 (Ceylan::Uint8 toWrite) |
Writes a Ceylan::Uint8 to this output stream. | |
virtual void | writeSint16 (Ceylan::Sint16 toWrite) |
Writes a Ceylan::Sint16 to this output stream. | |
virtual void | writeUint16 (Ceylan::Uint16 toWrite) |
Writes a Ceylan::Uint16 to this output stream. | |
virtual void | writeSint32 (Ceylan::Sint32 toWrite) |
Writes a Ceylan::Sint32 to this output stream. | |
virtual void | writeUint32 (Ceylan::Uint32 toWrite) |
Writes a Ceylan::Uint32 to this output stream. | |
virtual void | writeFloat32 (Ceylan::Float32 toWrite) |
Writes a Ceylan::Uint32 to this output stream. | |
virtual void | writeFloat64 (Ceylan::Float64 toWrite) |
Writes a Ceylan::Uint32 to this output stream. | |
virtual void | writeString (const std::string &toWrite) |
Writes a string to this output stream. | |
Static Public Member Functions | |
static Ceylan::Uint16 | Select (std::list< InputStream * > &is) |
Blocks the calling thread until bytes become available on one or more streams in is. | |
static Ceylan::Uint16 | Test (std::list< InputStream * > &is) |
Checks whether bytes become available on one or more streams in is. | |
static bool | Close (FileDescriptor &fd) |
Closes and zeroes the specified file descriptor. | |
static const std::string | ToString (std::list< TextDisplayable * > displayables, Ceylan::VerbosityLevels level=Ceylan::high) |
Returns a user-friendly description of this list of pointers to text displayable instances. | |
static TextOutputFormat | GetOutputFormat () |
Returns the current overall text format to be used by TextDisplayable instances. | |
static void | SetOutputFormat (TextOutputFormat newOutputFormat) |
Sets the current overall text format to be used by TextDisplayable instances. | |
Protected Member Functions | |
virtual void | createSocket (Port port) |
Creates the stream (TCP) socket associated with the port port. | |
virtual void | setNagleAlgorithmTo (bool activated) |
Enables or disables the Nagle algorithm for this socket. | |
virtual bool | close () |
Closes the socket. | |
virtual void | setSelected (bool newStatus) |
Used to set the selection status of this stream. | |
void | setFaulty (bool newFaultyState=true) |
Sets the faulty state of this stream. | |
virtual void | setStreamID (StreamID newInputStreamID) |
Sets this input stream's unique ID. | |
Protected Attributes | |
Middleware::ProtocolServer * | _protocolServer |
The protocol server this socket is associated with. | |
bool | _nagleAlgorithmDeactivated |
Tells whether the Nagle algorithm is requested to be deactivated, so that the snappiest possible response (packet timing) is searched for (if true), even though it would be obtained at the expense of usable network bandwidth. | |
Port | _port |
The port this socket is created with. | |
SystemSpecificSocketAddress * | _address |
The system-specific socket address for this socket. | |
System::FileDescriptor | _originalFD |
Internal file descriptor, used if this feature is available. | |
bool | _isBlocking |
Stores whether the stream is in blocking mode. | |
Static Protected Attributes | |
static TextOutputFormat | _OutputFormat = rawText |
The text format to be used currently by TextDisplayable instances. | |
Private Member Functions | |
AnonymousProtocolAwareStreamSocket (const AnonymousProtocolAwareStreamSocket &source) | |
Copy constructor made private to ensure that it will be never called. | |
AnonymousProtocolAwareStreamSocket & | operator= (const AnonymousProtocolAwareStreamSocket &source) |
Assignment operator made private to ensure that it will be never called. |
When a server has multiple connections to manage, it can spawn a protocol server whose marshaller is associated with the anonymous stream socket which is in charge of this connection.
These sockets are non-blocking.
Definition at line 76 of file CeylanAnonymousProtocolAwareStreamSocket.h.
enum Ceylan::TextDisplayable::TextOutputFormat [inherited] |
Defines what text output formats for TextDisplayable instances are available.
Definition at line 124 of file CeylanTextDisplayable.h.
AnonymousProtocolAwareStreamSocket::AnonymousProtocolAwareStreamSocket | ( | System::FileDescriptor | listeningFD, | |
Middleware::ProtocolServer & | protocolServerToTrigger | |||
) |
Constructs a new server-side socket dedicated to an accepted connection, and links it with a protocol server so that this socket can notice it of incoming data.
This socket will use specified listening server file descriptor to accept a new connection that it will manage as long as the connection is running, according to the rules enforced by the associated protocol server.
listeningFD | listening file descriptor of this server socket, used to accept a new connection. | |
protocolServerToTrigger | the protocol server instance that this protocol-aware socket will have to trigger whenever some data is to be read. This socket takes ownership of the protocol server, since when the socket is deallocated the server is of no use. |
SocketException | if socket creation failed. |
Definition at line 48 of file CeylanAnonymousProtocolAwareStreamSocket.cc.
AnonymousProtocolAwareStreamSocket::AnonymousProtocolAwareStreamSocket | ( | System::FileDescriptor | listeningFD | ) | [explicit] |
Constructs a new server-side socket dedicated to an accepted connection.
This socket shall be linked with a protocol server so that this socket can notice it of incoming data.
This socket will use specified listening server file descriptor to accept a new connection that it will manage as long as the connection is running, according to the rules enforced by the protocol server that will be associated with it.
listeningFD | listening file descriptor of this server socket, used to accept a new connection. |
SocketException | if socket creation failed. |
Definition at line 61 of file CeylanAnonymousProtocolAwareStreamSocket.cc.
AnonymousProtocolAwareStreamSocket::~AnonymousProtocolAwareStreamSocket | ( | ) | throw () [virtual] |
Virtual destructor.
Definition at line 73 of file CeylanAnonymousProtocolAwareStreamSocket.cc.
References _protocolServer.
Ceylan::Network::AnonymousProtocolAwareStreamSocket::AnonymousProtocolAwareStreamSocket | ( | const AnonymousProtocolAwareStreamSocket & | source | ) | [private] |
Copy constructor made private to ensure that it will be never called.
The compiler should complain whenever this undefined constructor is called, implicitly or not.
void InputStream::clearInput | ( | ) | [virtual, inherited] |
Clears the input stream.
InputStream::ReadFailedException | if the operation failed. |
Reimplemented in Ceylan::System::Pipe.
Definition at line 179 of file CeylanInputStream.cc.
References dataUtils::b, Ceylan::System::InputStream::hasAvailableData(), and Ceylan::System::InputStream::read().
bool Stream::Close | ( | FileDescriptor & | fd | ) | [static, inherited] |
Closes and zeroes the specified file descriptor.
It is passed by address so that this function can set it to zero on successful close.
CloseException | if the close operation failed. |
Definition at line 114 of file CeylanStream.cc.
References Ceylan::System::Stream::close(), generalUtils::false, Ceylan::toString(), and generalUtils::true.
Referenced by Ceylan::System::StandardFile::close(), Ceylan::Network::Socket::close(), Ceylan::System::Pipe::close(), and Ceylan::System::LibfatFile::close().
bool Socket::close | ( | ) | [protected, virtual, inherited] |
Closes the socket.
CloseException | if the close operation failed. |
Implements Ceylan::System::Stream.
Definition at line 553 of file CeylanSocket.cc.
References Ceylan::Network::Socket::_originalFD, Ceylan::System::Stream::Close(), Ceylan::Network::explainSocketError(), generalUtils::false, and generalUtils::true.
Referenced by Ceylan::Network::ClientStreamSocket::disconnect(), and Ceylan::Network::Socket::~Socket().
void StreamSocket::createSocket | ( | Port | port | ) | [protected, virtual, inherited] |
Creates the stream (TCP) socket associated with the port port.
SocketException | if the operation failed. |
Implements Ceylan::Network::Socket.
Definition at line 201 of file CeylanStreamSocket.cc.
References Ceylan::Network::Socket::_address, Ceylan::Network::Socket::_originalFD, Ceylan::Network::Socket::_port, dataUtils::e, Ceylan::System::explainError(), Ceylan::Network::explainSocketError(), Ceylan::System::Stream::isBlocking(), Ceylan::Network::StreamSocket::setBlocking(), Ceylan::Exception::toString(), and Ceylan::toString().
Referenced by Ceylan::Network::ClientStreamSocket::connect(), and Ceylan::Network::StreamSocket::StreamSocket().
FileDescriptor Socket::getFileDescriptorForTransport | ( | ) | const [virtual, inherited] |
Returns the file descriptor that should be used for that socket to communicate with its peer(s).
SocketException | if the operation failed, or FeatureNotAvailableException if the file descriptor feature is not available. |
Reimplemented in Ceylan::Network::SequentialServerStreamSocket.
Definition at line 389 of file CeylanSocket.cc.
References Ceylan::Network::Socket::_originalFD.
Referenced by Ceylan::Network::Socket::getInputStreamID(), Ceylan::Network::Socket::getOutputStreamID(), Ceylan::Network::Socket::hasAvailableData(), Ceylan::Network::StreamSocket::setNagleAlgorithmTo(), Ceylan::Network::Socket::toString(), and Ceylan::Network::Socket::write().
StreamID Socket::getInputStreamID | ( | ) | const [virtual, inherited] |
Returns the file descriptor for this socket, which is a StreamID.
InputStreamException | if no identifier is available, or if the file descriptor feature is not available. |
Implements Ceylan::System::InputStream.
Definition at line 446 of file CeylanSocket.cc.
References Ceylan::Network::Socket::getFileDescriptorForTransport(), and Ceylan::Exception::toString().
IPAddress * Socket::getLocalIPAddress | ( | ) | const [virtual, inherited] |
Returns the local IP address corresponding to this socket.
Ownership of the returned object is transferred to the caller, which has to deallocate it when of no more use.
SocketException | if this operation failed. |
Definition at line 426 of file CeylanSocket.cc.
Port Socket::getLocalPort | ( | ) | const [virtual, inherited] |
Returns the local port number of the socket.
SocketException | if this operation failed. |
Reimplemented in Ceylan::Network::ServerStreamSocket.
Definition at line 408 of file CeylanSocket.cc.
Referenced by Ceylan::Network::Socket::toString().
FileDescriptor Socket::getOriginalFileDescriptor | ( | ) | const [inherited] |
Returns the original file descriptor associated with the socket on its creation.
This file descriptor does not change, both for client and server sides.
SocketException | if the operation failed, or FeatureNotAvailableException if the file descriptor feature is not available. |
Definition at line 371 of file CeylanSocket.cc.
References Ceylan::Network::Socket::_originalFD.
Referenced by Ceylan::Network::SequentialServerStreamSocket::accept(), Ceylan::Network::MultiplexedServerStreamSocket::accept(), Ceylan::Network::MultiplexedProtocolBasedStreamServer::accept(), Ceylan::Network::ClientStreamSocket::connect(), Ceylan::Network::SequentialServerStreamSocket::getFileDescriptorForTransport(), Ceylan::Network::ServerStreamSocket::prepareToAccept(), Ceylan::Network::MultiplexedServerStreamSocket::run(), Ceylan::Network::ServerStreamSocket::ServerStreamSocket(), Ceylan::Network::StreamSocket::setBlocking(), and Ceylan::Network::Socket::toString().
TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat | ( | ) | [static, inherited] |
Returns the current overall text format to be used by TextDisplayable instances.
Definition at line 63 of file CeylanTextDisplayable.cc.
References Ceylan::TextDisplayable::_OutputFormat.
Referenced by Ceylan::formatStringList(), Ceylan::formatStringMap(), Ceylan::XML::XMLMarkup::toString(), Ceylan::Maths::Linear::Vector3::toString(), Ceylan::Maths::Linear::Vector2::toString(), Ceylan::Maths::Linear::Tripoint::toString(), Ceylan::Module::toString(), Ceylan::Maths::Linear::Matrix3::toString(), Ceylan::Maths::Linear::Matrix2::toString(), Ceylan::Maths::Linear::HomogeneousMatrix3::toString(), and Ceylan::Maths::Linear::Bipoint::toString().
StreamID Socket::getOutputStreamID | ( | ) | const [virtual, inherited] |
Returns the file descriptor for this socket, which is a StreamID.
OutputStreamException | if no identifier is available, or if the file descriptor feature is not available. |
Implements Ceylan::System::OutputStream.
Definition at line 473 of file CeylanSocket.cc.
References Ceylan::Network::Socket::getFileDescriptorForTransport(), and Ceylan::Exception::toString().
IPAddress * Socket::getPeerIPAddress | ( | ) | const [virtual, inherited] |
Returns the remote IP address this socket is linked to, i.e.
the IP address of the peer of this socket.
SocketException | if this operation failed, including if this socket is not connected. |
Definition at line 436 of file CeylanSocket.cc.
Port Socket::getPeerPort | ( | ) | const [virtual, inherited] |
Returns the remote port number this socket is linked to, i.e.
the port of the peer of this socket.
SocketException | if this operation failed, including if this socket is not connected. |
Reimplemented in Ceylan::Network::ClientStreamSocket.
Definition at line 417 of file CeylanSocket.cc.
ProtocolServer & AnonymousProtocolAwareStreamSocket::getProtocolServer | ( | ) | [virtual] |
Returns the owned protocol server managing this socket communications.
AnonymousStreamSocketException | if no protocol server is associated with this socket. |
Definition at line 93 of file CeylanAnonymousProtocolAwareStreamSocket.cc.
References _protocolServer.
Referenced by Ceylan::Network::MultiplexedProtocolBasedStreamServer::closeConnection().
bool Socket::hasAvailableData | ( | ) | const [virtual, inherited] |
Tells whether there is data available on input, i.e.
on the file descriptor used for transport.
Implements Ceylan::System::InputStream.
Definition at line 226 of file CeylanSocket.cc.
References dataUtils::e, generalUtils::false, Ceylan::Network::Socket::getFileDescriptorForTransport(), Ceylan::System::HasAvailableData(), and Ceylan::Exception::toString().
bool AnonymousProtocolAwareStreamSocket::hasProtocolServer | ( | ) | const [virtual] |
Returns whether this socket is associated with a protocol server.
Definition at line 84 of file CeylanAnonymousProtocolAwareStreamSocket.cc.
References _protocolServer.
Referenced by Ceylan::Network::MultiplexedProtocolBasedStreamServer::accept().
bool Stream::isBlocking | ( | ) | const [inherited] |
Tells whether this stream is in blocking mode (if true), or in non-blocking mode (if false).
Definition at line 93 of file CeylanStream.cc.
References Ceylan::System::Stream::_isBlocking.
Referenced by Ceylan::Network::StreamSocket::createSocket(), and Ceylan::Network::Socket::toString().
bool AnonymousStreamSocket::isConnected | ( | ) | const [virtual, inherited] |
Tells whether this socket is currently connected to a client.
Implements Ceylan::Network::Socket.
Definition at line 224 of file CeylanAnonymousStreamSocket.cc.
References generalUtils::true.
bool InputStream::isFaulty | ( | ) | const [inherited] |
Definition at line 131 of file CeylanInputStream.cc.
References Ceylan::System::InputStream::_isFaulty.
Referenced by Ceylan::System::InputStream::toString().
bool InputStream::isSelected | ( | ) | const [inherited] |
Tells if the stream has data to read.
Definition at line 122 of file CeylanInputStream.cc.
References Ceylan::System::InputStream::_isSelected.
Referenced by Ceylan::System::InputStream::toString().
AnonymousProtocolAwareStreamSocket& Ceylan::Network::AnonymousProtocolAwareStreamSocket::operator= | ( | const AnonymousProtocolAwareStreamSocket & | source | ) | [private] |
Assignment operator made private to ensure that it will be never called.
The compiler should complain whenever this undefined operator is called, implicitly or not.
virtual System::Size Ceylan::Network::Socket::read | ( | char * | buffer, | |
System::Size | maxLength | |||
) | [virtual, inherited] |
Reads up to maxLength bytes from this socket to specified buffer.
buffer | the buffer where to store read bytes. Its size must be at least maxLength bytes. | |
maxLength | the maximum number of bytes that should be read. |
ReadFailedException | if a read error occurred. |
Reimplemented from Ceylan::System::InputStream.
Ceylan::Float32 InputStream::readFloat32 | ( | ) | [virtual, inherited] |
Returns a Ceylan::Float32 read from this input stream.
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 356 of file CeylanInputStream.cc.
References ceylan_bswap_32, and Ceylan::System::InputStream::read().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeFloat32().
Ceylan::Float64 InputStream::readFloat64 | ( | ) | [virtual, inherited] |
Returns a Ceylan::Float64 read from this input stream.
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 392 of file CeylanInputStream.cc.
References Ceylan::byteswap(), ceylan_bswap_64, and Ceylan::System::InputStream::read().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeFloat64().
Ceylan::Sint16 InputStream::readSint16 | ( | ) | [virtual, inherited] |
Returns a Ceylan::Sint16 read from this input stream.
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 239 of file CeylanInputStream.cc.
References ceylan_bswap_16, and Ceylan::System::InputStream::read().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeSint16().
Ceylan::Sint32 InputStream::readSint32 | ( | ) | [virtual, inherited] |
Returns a Ceylan::Sint32 read from this input stream.
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 298 of file CeylanInputStream.cc.
References ceylan_bswap_32, and Ceylan::System::InputStream::read().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeSint32().
Ceylan::Sint8 InputStream::readSint8 | ( | ) | [virtual, inherited] |
Returns a Ceylan::Sint8 read from this input stream.
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 203 of file CeylanInputStream.cc.
References Ceylan::System::InputStream::read().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeSint8().
void InputStream::readString | ( | std::string & | result | ) | [virtual, inherited] |
Reads a string from this input stream, and stores it in the specified string.
result | the string to fill from this input stream. |
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 437 of file CeylanInputStream.cc.
References Ceylan::System::InputStream::read(), Ceylan::System::InputStream::readUint16(), and Ceylan::toString().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeString().
Ceylan::Uint16 InputStream::readUint16 | ( | ) | [virtual, inherited] |
Returns a Ceylan::Uint16 read from this input stream.
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 268 of file CeylanInputStream.cc.
References ceylan_bswap_16, and Ceylan::System::InputStream::read().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeUint16(), and Ceylan::System::InputStream::readString().
Ceylan::Uint32 InputStream::readUint32 | ( | ) | [virtual, inherited] |
Returns a Ceylan::Uint32 read from this input stream.
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 327 of file CeylanInputStream.cc.
References ceylan_bswap_32, and Ceylan::System::InputStream::read().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeUint32().
Ceylan::Uint8 InputStream::readUint8 | ( | ) | [virtual, inherited] |
Returns a Ceylan::Uint8 read from this input stream.
ReadFailedException | in case a system error occured, or EOFException is a protocol error occured, with fewer bytes available than expected. |
Definition at line 221 of file CeylanInputStream.cc.
References Ceylan::System::InputStream::read().
Referenced by Ceylan::Middleware::LightWeightMarshaller::decodeUint8(), Ceylan::System::FileSystemManager::diff(), Ceylan::XML::XMLParser::handleNextElement(), Ceylan::XML::XMLParser::InterpretLowerThanSequence(), Ceylan::XML::XMLParser::InterpretXMLDeclaration(), and Ceylan::System::InputStream::skipWhitespaces().
Ceylan::Uint16 InputStream::Select | ( | std::list< InputStream * > & | is | ) | [static, inherited] |
Blocks the calling thread until bytes become available on one or more streams in is.
To see which are selected, use the isSelected
method.
SelectFailedException | if the operation failed, for example if the file descriptor feature is not available on this platform. |
Definition at line 534 of file CeylanInputStream.cc.
References Ceylan::System::explainError(), Ceylan::Network::explainSocketError(), Ceylan::System::getError(), Ceylan::Network::getSocketError(), Ceylan::System::Thread::Sleep(), and Ceylan::toString().
Referenced by Ceylan::Network::MultiplexedServerStreamSocket::run().
void StreamSocket::setBlocking | ( | bool | newStatus | ) | [virtual, inherited] |
Sets the blocking mode of this stream socket.
newStatus | if true, sets the socket in blocking mode, if false set to non-blocking mode. If the socket is already in the target state, nothing is done. |
NonBlockingNotSupportedException | if the operation failed. |
Reimplemented from Ceylan::Network::Socket.
Definition at line 381 of file CeylanStreamSocket.cc.
References Ceylan::System::Stream::_isBlocking, Ceylan::System::explainError(), Ceylan::Network::explainSocketError(), Ceylan::Network::Socket::getOriginalFileDescriptor(), and Ceylan::toString().
Referenced by Ceylan::Network::AnonymousStreamSocket::AnonymousStreamSocket(), and Ceylan::Network::StreamSocket::createSocket().
void InputStream::setFaulty | ( | bool | newFaultyState = true |
) | [protected, inherited] |
Sets the faulty state of this stream.
newFaultyState | the new faulty state. |
Definition at line 1004 of file CeylanInputStream.cc.
References Ceylan::System::InputStream::_isFaulty.
Referenced by Ceylan::Network::MultiplexedServerStreamSocket::run().
void StreamSocket::setNagleAlgorithmTo | ( | bool | activated | ) | [protected, virtual, inherited] |
Enables or disables the Nagle algorithm for this socket.
activated | if true, activates the algorithm, if false, deactivates it. |
Definition at line 287 of file CeylanStreamSocket.cc.
References Ceylan::System::explainError(), Ceylan::Network::explainSocketError(), Ceylan::Network::Socket::getFileDescriptorForTransport(), and Ceylan::toString().
Referenced by Ceylan::Network::AnonymousStreamSocket::AnonymousStreamSocket(), Ceylan::Network::ClientStreamSocket::connect(), and Ceylan::Network::ServerStreamSocket::prepareToAccept().
void TextDisplayable::SetOutputFormat | ( | TextOutputFormat | newOutputFormat | ) | [static, inherited] |
Sets the current overall text format to be used by TextDisplayable instances.
newOutputFormat | the new output format. |
Definition at line 72 of file CeylanTextDisplayable.cc.
References Ceylan::TextDisplayable::_OutputFormat.
Referenced by Ceylan::Log::LogHolder::LogHolder().
void AnonymousProtocolAwareStreamSocket::setProtocolServer | ( | Middleware::ProtocolServer & | newProtocolServer | ) | [virtual] |
Sets the new protocol server managing this socket communications.
It will be owned (hence deallocated) by this socket.
If a protocol server was already set, the former will be deallocated and then replaced by the newer.
Definition at line 107 of file CeylanAnonymousProtocolAwareStreamSocket.cc.
References _protocolServer.
void InputStream::setSelected | ( | bool | newStatus | ) | [protected, virtual, inherited] |
Used to set the selection status of this stream.
Definition at line 989 of file CeylanInputStream.cc.
References Ceylan::System::InputStream::_isSelected, Ceylan::System::InputStream::getInputStreamID(), and Ceylan::toString().
Referenced by Ceylan::System::StandardFile::read(), Ceylan::System::Pipe::read(), and Ceylan::System::LibfatFile::read().
void InputStream::setStreamID | ( | StreamID | newInputStreamID | ) | [protected, virtual, inherited] |
Sets this input stream's unique ID.
InputStreamException | in all cases as long as not specifically overriden. |
Definition at line 1013 of file CeylanInputStream.cc.
void InputStream::skipWhitespaces | ( | Ceylan::Uint8 & | firstNonSpace | ) | [virtual, inherited] |
Reads from this input stream as long as there are whitespaces to be read.
firstNonSpace | the variable which will be set by this method to the value of the first non-whitespace character that is read. |
Definition at line 516 of file CeylanInputStream.cc.
References Ceylan::isWhitespace(), and Ceylan::System::InputStream::readUint8().
Referenced by Ceylan::XML::XMLParser::handleNextElement().
Ceylan::Uint16 InputStream::Test | ( | std::list< InputStream * > & | is | ) | [static, inherited] |
Checks whether bytes become available on one or more streams in is.
To see which are selected, use the isSelected
method.
This method returns always immediatly.
SelectFailedException | if the operation failed, for example if the file descriptor feature is not available on this platform. |
Definition at line 863 of file CeylanInputStream.cc.
References Ceylan::System::explainError(), and Ceylan::System::getError().
const std::string TextDisplayable::ToString | ( | std::list< TextDisplayable * > | displayables, | |
Ceylan::VerbosityLevels | level = Ceylan::high | |||
) | [static, inherited] |
Returns a user-friendly description of this list of pointers to text displayable instances.
displayables | a list of pointers to TextDisplayable instances/ | |
level | the requested verbosity level. |
Definition at line 45 of file CeylanTextDisplayable.cc.
References Ceylan::formatStringList().
const std::string AnonymousProtocolAwareStreamSocket::toString | ( | Ceylan::VerbosityLevels | level = Ceylan::high |
) | const [virtual] |
Returns a user-friendly description of the state of this object.
level | the requested verbosity level. |
Reimplemented from Ceylan::Network::AnonymousStreamSocket.
Definition at line 120 of file CeylanAnonymousProtocolAwareStreamSocket.cc.
References _protocolServer, Ceylan::low, and Ceylan::Middleware::ProtocolServer::toString().
Referenced by Ceylan::Network::MultiplexedProtocolBasedStreamServer::accept().
virtual System::Size Ceylan::Network::Socket::write | ( | const char * | buffer, | |
System::Size | maxLength | |||
) | [virtual, inherited] |
Writes up to maxLength bytes from the specified buffer to this socket.
buffer | the buffer where to find bytes that must be written to this socket. Its size must be at least maxLength bytes. |
WriteFailedException | if a write error occurred. |
Reimplemented from Ceylan::System::OutputStream.
Size Socket::write | ( | const std::string & | message | ) | [virtual, inherited] |
Writes message to this socket.
message | the message to write to this socket. |
WriteFailedException | if a write error occurred. |
Reimplemented from Ceylan::System::OutputStream.
Definition at line 294 of file CeylanSocket.cc.
References Ceylan::System::explainError(), Ceylan::System::FDWrite(), Ceylan::Network::Socket::getFileDescriptorForTransport(), and Ceylan::Exception::toString().
void OutputStream::writeFloat32 | ( | Ceylan::Float32 | toWrite | ) | [virtual, inherited] |
Writes a Ceylan::Uint32 to this output stream.
WriteFailedException | in case a system error occured. |
Definition at line 219 of file CeylanOutputStream.cc.
References ceylan_bswap_32, and Ceylan::System::OutputStream::write().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeFloat32().
void OutputStream::writeFloat64 | ( | Ceylan::Float64 | toWrite | ) | [virtual, inherited] |
Writes a Ceylan::Uint32 to this output stream.
WriteFailedException | in case a system error occured. |
Definition at line 247 of file CeylanOutputStream.cc.
References Ceylan::byteswap(), ceylan_bswap_64, and Ceylan::System::OutputStream::write().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeFloat64().
void OutputStream::writeSint16 | ( | Ceylan::Sint16 | toWrite | ) | [virtual, inherited] |
Writes a Ceylan::Sint16 to this output stream.
WriteFailedException | in case a system error occured. |
Definition at line 119 of file CeylanOutputStream.cc.
References ceylan_bswap_16, and Ceylan::System::OutputStream::write().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeSint16().
void OutputStream::writeSint32 | ( | Ceylan::Sint32 | toWrite | ) | [virtual, inherited] |
Writes a Ceylan::Sint32 to this output stream.
WriteFailedException | in case a system error occured. |
Definition at line 169 of file CeylanOutputStream.cc.
References ceylan_bswap_32, and Ceylan::System::OutputStream::write().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeSint32().
void OutputStream::writeSint8 | ( | Ceylan::Sint8 | toWrite | ) | [virtual, inherited] |
Writes a Ceylan::Sint8 to this output stream.
WriteFailedException | in case a system error occured. |
Definition at line 89 of file CeylanOutputStream.cc.
References Ceylan::System::OutputStream::write().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeSint8().
void OutputStream::writeString | ( | const std::string & | toWrite | ) | [virtual, inherited] |
Writes a string to this output stream.
toWrite | the string to write to this output stream. |
WriteFailedException | in case a system error occured. |
Definition at line 286 of file CeylanOutputStream.cc.
References Ceylan::Log::LogPlug::debug(), Ceylan::toString(), Ceylan::Uint16Max, Ceylan::System::OutputStream::write(), and Ceylan::System::OutputStream::writeUint16().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeString().
void OutputStream::writeUint16 | ( | Ceylan::Uint16 | toWrite | ) | [virtual, inherited] |
Writes a Ceylan::Uint16 to this output stream.
WriteFailedException | in case a system error occured. |
Definition at line 144 of file CeylanOutputStream.cc.
References ceylan_bswap_16, and Ceylan::System::OutputStream::write().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeUint16(), and Ceylan::System::OutputStream::writeString().
void OutputStream::writeUint32 | ( | Ceylan::Uint32 | toWrite | ) | [virtual, inherited] |
Writes a Ceylan::Uint32 to this output stream.
WriteFailedException | in case a system error occured. |
Definition at line 194 of file CeylanOutputStream.cc.
References ceylan_bswap_32, and Ceylan::System::OutputStream::write().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeUint32().
void OutputStream::writeUint8 | ( | Ceylan::Uint8 | toWrite | ) | [virtual, inherited] |
Writes a Ceylan::Uint8 to this output stream.
WriteFailedException | in case a system error occured. |
Definition at line 104 of file CeylanOutputStream.cc.
References Ceylan::System::OutputStream::write().
Referenced by Ceylan::Middleware::LightWeightMarshaller::encodeUint8(), and Ceylan::XML::XMLSavingVisitor::visit().
SystemSpecificSocketAddress* Ceylan::Network::Socket::_address [protected, inherited] |
The system-specific socket address for this socket.
It will be used by server sockets to bind to the target port, whereas client sockets will use it to connect to the target server, and anonymous sockets will store informations about the client.
Definition at line 454 of file CeylanSocket.h.
Referenced by Ceylan::Network::AnonymousStreamSocket::AnonymousStreamSocket(), Ceylan::Network::ClientStreamSocket::connect(), Ceylan::Network::StreamSocket::createSocket(), Ceylan::Network::ServerStreamSocket::prepareToAccept(), Ceylan::Network::Socket::Socket(), and Ceylan::Network::Socket::~Socket().
bool Ceylan::System::Stream::_isBlocking [protected, inherited] |
Stores whether the stream is in blocking mode.
Definition at line 221 of file CeylanStream.h.
Referenced by Ceylan::System::Stream::isBlocking(), Ceylan::Network::StreamSocket::setBlocking(), Ceylan::Network::Socket::setBlocking(), and Ceylan::System::Stream::toString().
bool Ceylan::Network::StreamSocket::_nagleAlgorithmDeactivated [protected, inherited] |
Tells whether the Nagle algorithm is requested to be deactivated, so that the snappiest possible response (packet timing) is searched for (if true), even though it would be obtained at the expense of usable network bandwidth.
This is seldom recommended except for remote GUI or multiplayer network games.
Hence the default is false, and the Nagle algorithm is used.
Deactivating the Nagle algorithm is to be performed in socket child classes.
Definition at line 223 of file CeylanStreamSocket.h.
Referenced by Ceylan::Network::AnonymousStreamSocket::AnonymousStreamSocket(), Ceylan::Network::ClientStreamSocket::connect(), Ceylan::Network::ServerStreamSocket::prepareToAccept(), and Ceylan::Network::StreamSocket::toString().
System::FileDescriptor Ceylan::Network::Socket::_originalFD [protected, inherited] |
Internal file descriptor, used if this feature is available.
The local port this socket will be bound to.
This is the original file descriptor for this socket. Depending on the specialization of this socket, it may or may not be the file descriptor that is used for transport.
Definition at line 472 of file CeylanSocket.h.
Referenced by Ceylan::Network::AnonymousStreamSocket::AnonymousStreamSocket(), Ceylan::Network::Socket::close(), Ceylan::Network::StreamSocket::createSocket(), Ceylan::Network::Socket::getFileDescriptorForTransport(), Ceylan::Network::Socket::getOriginalFileDescriptor(), and Ceylan::Network::AnonymousStreamSocket::toString().
TextDisplayable::TextOutputFormat TextDisplayable::_OutputFormat = rawText [static, protected, inherited] |
The text format to be used currently by TextDisplayable instances.
Definition at line 158 of file CeylanTextDisplayable.h.
Referenced by Ceylan::TextDisplayable::GetOutputFormat(), and Ceylan::TextDisplayable::SetOutputFormat().
Port Ceylan::Network::Socket::_port [protected, inherited] |
The port this socket is created with.
For client sockets, the port of the remote server will be recorded here.
For server sockets, it will be the local port where the server will be listening.
Definition at line 441 of file CeylanSocket.h.
Referenced by Ceylan::Network::StreamSocket::createSocket(), Ceylan::Network::ServerStreamSocket::getLocalPort(), Ceylan::Network::ClientStreamSocket::getPeerPort(), and Ceylan::Network::StreamSocket::StreamSocket().
Middleware::ProtocolServer* Ceylan::Network::AnonymousProtocolAwareStreamSocket::_protocolServer [protected] |
The protocol server this socket is associated with.
Definition at line 210 of file CeylanAnonymousProtocolAwareStreamSocket.h.
Referenced by getProtocolServer(), hasProtocolServer(), setProtocolServer(), toString(), and ~AnonymousProtocolAwareStreamSocket().