|
Jpp 20.0.0-rc.3
the software that should make you happy
|
Non-blocking socket reader. More...
#include <JSocketNonblocking.hh>
Public Types | |
| enum | JStatus_t { IO_RESET = -1 , IO_READY = 0 , IO_BUSY = +1 } |
Public Member Functions | |
| JSocketNonblockingReader (const JTCPSocket &socket) | |
| Constructor. | |
| JStatus_t | read () |
| Continuation of non-blocking read method. | |
| void | setNonBlocking (const bool on) |
| Set non-blocking of I/O. | |
| bool | getNonBlocking () const |
| Get non-blocking of I/O. | |
| void | setKeepIdle (const int t_s) |
| Set the TCP idle time. | |
| void | setKeepCnt (const int count) |
| Set the TCP idle count. | |
| void | setKeepIntvl (const int t_s) |
| Set the TCP interval time. | |
| void | setTcpNoDelay (const bool on) |
| Set TCP no-delay. | |
| bool | getTcpNoDelay () const |
| Get TCP no-delay. | |
| void | accept (const int server) |
| Accept connection from a server. | |
| void | connect (const int port) |
| Connect to port on local host. | |
| void | connect (const JHostname &hostname) |
| Connect to port on specified host. | |
| void | connect (const std::string &hostname, const int port) |
| Connect to port on specified host. | |
| void | connect (const int ip_number, const int port) |
| Connect to port on specified host. | |
| int | shutdown () |
| Shut down socket. | |
| void | setKeepAlive (const bool on) |
| Set keep alive of socket. | |
| bool | getKeepAlive () const |
| Get keep alive of socket. | |
| void | setReuseAddress (const bool on) |
| Set reuse address. | |
| bool | getReuseAddress () const |
| Get reuse address. | |
| void | setReceiveBufferSize (const int size) |
| Set receive buffer size. | |
| int | getReceiveBufferSize () const |
| Set receive buffer size. | |
| void | setSendBufferSize (const int size) |
| Set send buffer size. | |
| int | getSendBufferSize () const |
| Get send buffer size. | |
| virtual int | write (const char *buffer, const int length) override |
| Write data to socket. | |
| int | close () |
| Close file. | |
| bool | in_avail (JTimeval timeout=JTimeval::min()) const |
| Check availability of input. | |
| bool | out_avail (JTimeval timeout=JTimeval::min()) const |
| Check availability of output. | |
| virtual bool | good () const |
| Check status. | |
| virtual bool | fail () const |
| Check status. | |
| virtual bool | bad () const |
| Check status. | |
| virtual bool | eof () const |
| Check end of file. | |
| bool | less (const JAbstractFile &file) const |
| Less than operation. | |
| int | getFileDescriptor () const |
| Get file descriptor. | |
| void | setFileDescriptor (const int file) |
| Set file descriptor. | |
| bool | is_open () const |
| Get open status. | |
| const sockaddr * | getSockaddr () const |
| Get sockaddr. | |
| sockaddr * | getSockaddr () |
| Get sockaddr. | |
| int | getFamily () const |
| Get family. | |
| void | setFamily (const int family) |
| Set family. | |
| std::string | getHostname () const |
| Get host name. | |
| int | getIPnumber () const |
| Get IP number. | |
| void | setIPnumber (const int ip_number) |
| Set IP number. | |
| void | setIPnumber () |
| Set any IP number. | |
| int | getPort () const |
| Get port number. | |
| void | setPort (const int port) |
| Set port number. | |
| int | getSize () const |
| Get size of pending data. | |
| void | set (const JSocketBuffer< JElement_t > &buffer) |
| Initialise buffer. | |
| void | set (JElement_t *buffer, const int length) |
| Initialise buffer. | |
| void | reset () |
| Reset. | |
| JStatus_t | getStatus () const |
| Get status of I/O. | |
| bool | isReset () const |
| Check reset status. | |
| bool | isBusy () const |
| Check busy status. | |
| bool | isReady () const |
| Check ready status. | |
| int | getCounter () const |
| Get number of I/O attempts. | |
Static Public Member Functions | |
| static const int | getDefaultBufferSize () |
| Default socket buffer size to be used on this system. | |
| static int | sizeOf () |
| Get size of object. | |
Static Public Attributes | |
| static const int | FILE_CLOSED = -1 |
Protected Member Functions | |
| template<class T > | |
| void | setOption (const int level, const int option, const T value) |
| Set socket option. | |
| template<class T > | |
| T | getOption (const int level, const int option) const |
| Get socket option. | |
| void | setStatus (const JStatus_t status) |
| Set status of I/O. | |
Protected Attributes | |
| int | fileDescriptor |
| JElement_t * | __data |
| int | __size |
| JStatus_t | status |
| int | counter |
Private Member Functions | |
| virtual int | read (char *buffer, const int length) override |
| Read data from socket. | |
Private Attributes | |
| int | result |
Non-blocking socket reader.
This class can be used in case of non-blocking I/O (see method JSocket::setNonBlocking()).
Definition at line 118 of file JSocketNonblocking.hh.
|
inherited |
|
inline |
Constructor.
| socket | socket |
Definition at line 128 of file JSocketNonblocking.hh.
|
inline |
Continuation of non-blocking read method.
Definition at line 139 of file JSocketNonblocking.hh.
|
inlineoverrideprivatevirtual |
Read data from socket.
This method handles I/O errors in such a way that:
| buffer | buffer |
| length | number of bytes to read |
Reimplemented from JNET::JSocket.
Definition at line 198 of file JSocket.hh.
|
inlineinherited |
Set non-blocking of I/O.
| on | true to enable non-blocking; false to disable |
Definition at line 56 of file JTCPSocket.hh.
|
inlineinherited |
Get non-blocking of I/O.
Definition at line 80 of file JTCPSocket.hh.
|
inlineinherited |
Set the TCP idle time.
| t_s | time [s] |
Definition at line 98 of file JTCPSocket.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Set TCP no-delay.
| on | true to set TCP no-delay; false to disable |
Definition at line 131 of file JTCPSocket.hh.
|
inlineinherited |
Get TCP no-delay.
Definition at line 142 of file JTCPSocket.hh.
|
inlineinherited |
Accept connection from a server.
| server | file descriptor of TCP server socket |
Definition at line 153 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on local host.
| port | port number |
Definition at line 166 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
| hostname | host name |
Definition at line 177 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
| hostname | host name |
| port | port number |
Definition at line 189 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
| ip_number | IP number |
| port | port number |
Definition at line 201 of file JTCPSocket.hh.
|
inlinestaticinherited |
Default socket buffer size to be used on this system.
Definition at line 75 of file JSocket.hh.
|
inlineinherited |
Shut down socket.
Definition at line 89 of file JSocket.hh.
|
inlineinherited |
Set keep alive of socket.
| on | true to enable keep alive; false to disable |
Definition at line 104 of file JSocket.hh.
|
inlineinherited |
Get keep alive of socket.
Definition at line 115 of file JSocket.hh.
|
inlineinherited |
Set reuse address.
| on | true to enable reuse address; false to disable |
Definition at line 126 of file JSocket.hh.
|
inlineinherited |
Get reuse address.
Definition at line 137 of file JSocket.hh.
|
inlineinherited |
|
inlineinherited |
Set receive buffer size.
Definition at line 159 of file JSocket.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineoverridevirtualinherited |
Write data to socket.
This method handles I/O errors in such a way that:
| buffer | buffer |
| length | number of bytes to write |
Reimplemented from JLANG::JFile.
Reimplemented in JNET::JSocketBlocking, JNET::JSocketNonblockingWriter, JNET::JSocketOutputChannel< JPrefix_t >, and JNET::JUDPSocket.
Definition at line 237 of file JSocket.hh.
|
inlineprotectedinherited |
Set socket option.
| level | level |
| option | option |
| value | value |
Definition at line 274 of file JSocket.hh.
|
inlineprotectedinherited |
Get socket option.
| level | level |
| option | option |
Definition at line 292 of file JSocket.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlineinherited |
Less than operation.
| file | JAbstractFile to be compared |
Definition at line 64 of file JAbstractFile.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get open status.
Definition at line 95 of file JAbstractFile.hh.
|
inlineinherited |
Get sockaddr.
Definition at line 44 of file JSocketAddress.hh.
|
inlineinherited |
Get sockaddr.
Definition at line 55 of file JSocketAddress.hh.
|
inlineinherited |
Get family.
Definition at line 66 of file JSocketAddress.hh.
|
inlineinherited |
Set family.
| family | family |
Definition at line 77 of file JSocketAddress.hh.
|
inlineinherited |
Get host name.
Definition at line 88 of file JSocketAddress.hh.
|
inlineinherited |
Get IP number.
Definition at line 99 of file JSocketAddress.hh.
|
inlineinherited |
Set IP number.
| ip_number | IP number |
Definition at line 110 of file JSocketAddress.hh.
|
inlineinherited |
Set any IP number.
Definition at line 119 of file JSocketAddress.hh.
|
inlineinherited |
Get port number.
Definition at line 130 of file JSocketAddress.hh.
|
inlineinherited |
Set port number.
| port | port number |
Definition at line 141 of file JSocketAddress.hh.
|
inlinestaticinherited |
Get size of object.
Definition at line 155 of file JSocketAddress.hh.
|
inlineinherited |
Get size of pending data.
Definition at line 55 of file JSocketNonblocking.hh.
|
inlineinherited |
Initialise buffer.
| buffer | buffer |
Definition at line 66 of file JSocketNonblocking.hh.
|
inlineinherited |
Initialise buffer.
| buffer | I/O data |
| length | number of bytes |
Definition at line 78 of file JSocketNonblocking.hh.
|
inlineinherited |
Reset.
Definition at line 94 of file JSocketNonblocking.hh.
|
inlineinherited |
|
inlineinherited |
Check reset status.
Definition at line 54 of file JSocketStatus.hh.
|
inlineinherited |
|
inlineinherited |
Check ready status.
Definition at line 76 of file JSocketStatus.hh.
|
inlineinherited |
Get number of I/O attempts.
Definition at line 87 of file JSocketStatus.hh.
|
inlineprotectedinherited |
|
staticinherited |
Definition at line 27 of file JAbstractFile.hh.
|
protectedinherited |
Definition at line 102 of file JAbstractFile.hh.
|
protectedinherited |
Definition at line 104 of file JSocketNonblocking.hh.
|
protectedinherited |
Definition at line 105 of file JSocketNonblocking.hh.
|
protectedinherited |
Definition at line 115 of file JSocketStatus.hh.
|
protectedinherited |
Definition at line 116 of file JSocketStatus.hh.