logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ost::UnixStream - Unix streams are used to represent Unix domain client connections to a local server for

Author

       Generated automatically by Doxygen for GNU CommonC++ from the source code.

GNU CommonC++                                    Sun Dec 27 2020                              ost::UnixStream(3)

Constructor & Destructor Documentation

ost::UnixStream::UnixStream(boolthrowflag=true)[protected]
       The constructor required for 'unixstream', a more C++ style version of the TCPStream class.

   ost::UnixStream::UnixStream(UnixSocket&server,intsize=512,boolthrowflag=true,timeout_ttimeout=0)
       Create a Unix domain stream by accepting a connection from a bound Unix domain socket acting as a server.
       This performs an 'accept' call.

       Parametersserver socket listening.
           size of streaming input and output buffers.
           throwflag flag to throw errors.
           timeout for all operations.

   ost::UnixStream::UnixStream(constchar*pathname,intsize=512,boolthrowflag=true,timeout_tto=0)
       Create a Unix domain stream by connecting to a Unix domain socket.

       Parameterspathname path to socket
           size of streaming input and output buffers.
           throwflag flag to throw errors.
           to timeout for all operations.

   ost::UnixStream::UnixStream(constUnixStream&source)
       A copy constructor creates a new stream buffer.

       Parameterssource of copy.

   virtualost::UnixStream::~UnixStream()[virtual]
       Flush and empty all buffers, and then remove the allocated buffers.

Detailed Description

       Unix streams are used to represent Unix domain client connections to a local server for accepting client
       connections.

       The Unix stream is a C++ 'stream' class, and can accept streaming of data to and from other C++ objects
       using the << and >> operators.

       Unix Stream itself can be formed either by connecting to a bound network address of a Unix domain server,
       or can be created when 'accepting' a network connection from a Unix domain server.

       Author
           Alex Pavloff alex@pavloff.net

       streamable Unix domain socket connection.

Member Data Documentation

intost::UnixStream::bufsize[protected]
       Referenced by getBufferSize().

   char*ost::UnixStream::gbuf[protected]char*ost::UnixStream::pbuf[protected]timeout_tost::UnixStream::timeout[protected]
       Referenced by setTimeout().

Member Function Documentation

voidost::UnixStream::allocate(intsize)[protected]
       Used to allocate the buffer space needed for iostream operations. This function is called by the
       constructor.

       Parameterssize of stream buffers from constructor.

   voidost::UnixStream::connect(constchar*pathname,intsize)[protected]
       Create a Unix domain stream by connecting to a Unix domain socket.

       Parameterspathname path to socket
           size of streaming input and output buffers.

       Referenced by ost::unixstream::open().

   voidost::UnixStream::endStream(void)[protected]
       Used to terminate the buffer space and cleanup the socket connection. This fucntion is called by the
       destructor.

   intost::UnixStream::getBufferSize(void)const[inline]
       Return the size of the current stream buffering used.

       Returns
           size of stream buffers.

       References bufsize.

   boolost::UnixStream::isPending(Pendingpend,timeout_ttimeout=TIMEOUT_INF)[virtual]
       Get the status of pending stream data. This can be used to examine if input or output is waiting, or if
       an error or disconnect has occured on the stream. If a read buffer contains data then input is ready and
       if write buffer contains data it is first flushed and then checked.

       Reimplemented from ost::Socket.

   intost::UnixStream::overflow(intch)[protected]
       This streambuf method is used to write the output buffer through the established unix domain connection.

       Parametersch char to push through.

       Returns
           char pushed through.

   voidost::UnixStream::setTimeout(timeout_tto)[inline]
       Set the I/O operation timeout for socket I/O operations.

       Parametersto timeout to set.

       References timeout.

   intost::UnixStream::sync(void)
       Flushes the stream input and output buffers, writes pending output.

       Returns
           0 on success.

   intost::UnixStream::uflow(void)[protected]
       This streambuf method is used for doing unbuffered reads through the established unix domain socket
       connection when in interactive mode. Also this method will handle proper use of buffers if not in
       interative mode.

       Returns
           char from unix domain socket connection, EOF if not connected.

   virtualintost::UnixStream::underflow(void)[protected],[virtual]
       This streambuf method is used to load the input buffer through the established unix domain socket
       connection.

       Returns
           char from get buffer, EOF if not connected.

   std::iostream*ost::UnixStream::unixstr(void)[inline],[protected]
       Used in derived classes to refer to the current object via it's iostream. For example, to send a set of
       characters in a derived method, one might use *tcp() << 'test'.

       Returns
           stream pointer of this object.

Name

       ost::UnixStream - Unix streams are used to represent Unix domain client connections to a local server for
       accepting client connections.

Synopsis

       #include <unix.h>

       Inherits ost::Socket, streambuf, and iostream.

       Inherited by ost::UnixSession, and ost::unixstream.

   PublicMemberFunctionsUnixStream (UnixSocket &server, int size=512, bool throwflag=true, timeout_ttimeout=0)
           Create a Unix domain stream by accepting a connection from a bound Unix domain socket acting as a
           server.
       UnixStream (const char *pathname, int size=512, bool throwflag=true, timeout_t to=0)
           Create a Unix domain stream by connecting to a Unix domain socket.
       void setTimeout (timeout_t to)
           Set the I/O operation timeout for socket I/O operations.
       UnixStream (const UnixStream &source)
           A copy constructor creates a new stream buffer.
       virtual ~UnixStream ()
           Flush and empty all buffers, and then remove the allocated buffers.
       int sync (void)
           Flushes the stream input and output buffers, writes pending output.
       bool isPending (Pending pend, timeout_ttimeout=TIMEOUT_INF)
           Get the status of pending stream data.
       int getBufferSize (void) const
           Return the size of the current stream buffering used.

   ProtectedMemberFunctionsUnixStream (bool throwflag=true)
           The constructor required for 'unixstream', a more C++ style version of the TCPStream class.
       void allocate (int size)
           Used to allocate the buffer space needed for iostream operations.
       void endStream (void)
           Used to terminate the buffer space and cleanup the socket connection.
       virtual int underflow (void)
           This streambuf method is used to load the input buffer through the established unix domain socket
           connection.
       int uflow (void)
           This streambuf method is used for doing unbuffered reads through the established unix domain socket
           connection when in interactive mode.
       int overflow (int ch)
           This streambuf method is used to write the output buffer through the established unix domain
           connection.
       void connect (const char *pathname, int size)
           Create a Unix domain stream by connecting to a Unix domain socket.
       std::iostream * unixstr (void)
           Used in derived classes to refer to the current object via it's iostream.

   ProtectedAttributestimeout_ttimeout
       int bufsize
       char * gbuf
       char * pbufAdditionalInheritedMembers

See Also