|
Jpp
17.3.2
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. More... | |
| JStatus_t | read () |
| Continuation of non-blocking read method. More... | |
| void | setNonBlocking (const bool on) |
| Set non-blocking of I/O. More... | |
| bool | getNonBlocking () const |
| Get non-blocking of I/O. More... | |
| void | setKeepIdle (const int t_s) |
| Set the TCP idle time. More... | |
| void | setKeepCnt (const int count) |
| Set the TCP idle count. More... | |
| void | setKeepIntvl (const int t_s) |
| Set the TCP interval time. More... | |
| void | setTcpNoDelay (const bool on) |
| Set TCP no-delay. More... | |
| bool | getTcpNoDelay () const |
| Get TCP no-delay. More... | |
| void | accept (const int server) |
| Accept connection from a server. More... | |
| void | connect (const int port) |
| Connect to port on local host. More... | |
| void | connect (const JHostname &hostname) |
| Connect to port on specified host. More... | |
| void | connect (const std::string &hostname, const int port) |
| Connect to port on specified host. More... | |
| void | connect (const int ip_number, const int port) |
| Connect to port on specified host. More... | |
| int | shutdown () |
| Shut down socket. More... | |
| void | setKeepAlive (const bool on) |
| Set keep alive of socket. More... | |
| bool | getKeepAlive () const |
| Get keep alive of socket. More... | |
| void | setReuseAddress (const bool on) |
| Set reuse address. More... | |
| bool | getReuseAddress () const |
| Get reuse address. More... | |
| void | setReceiveBufferSize (const int size) |
| Set receive buffer size. More... | |
| int | getReceiveBufferSize () const |
| Set receive buffer size. More... | |
| void | setSendBufferSize (const int size) |
| Set send buffer size. More... | |
| int | getSendBufferSize () const |
| Get send buffer size. More... | |
| virtual int | read (char *buffer, const int length) override |
| Read data from socket. More... | |
| virtual int | write (const char *buffer, const int length) override |
| Write data to socket. More... | |
| void | close () |
| Close file. More... | |
| bool | in_avail (JTimeval timeout=JTimeval::min()) const |
| Check availability of input. More... | |
| bool | out_avail (JTimeval timeout=JTimeval::min()) const |
| Check availability of output. More... | |
| virtual bool | good () const |
| Check status. More... | |
| virtual bool | fail () const |
| Check status. More... | |
| virtual bool | bad () const |
| Check status. More... | |
| virtual bool | eof () const |
| Check end of file. More... | |
| bool | less (const JAbstractFile &file) const |
| Less than operation. More... | |
| int | getFileDescriptor () const |
| Get file descriptor. More... | |
| void | setFileDescriptor (const int file) |
| Set file descriptor. More... | |
| bool | is_open () const |
| Get open status. More... | |
| const sockaddr * | getSockaddr () const |
| Get sockaddr. More... | |
| sockaddr * | getSockaddr () |
| Get sockaddr. More... | |
| int | getFamily () const |
| Get family. More... | |
| void | setFamily (const int family) |
| Set family. More... | |
| std::string | getHostname () const |
| Get host name. More... | |
| int | getIPnumber () const |
| Get IP number. More... | |
| void | setIPnumber (const int ip_number) |
| Set IP number. More... | |
| void | setIPnumber () |
| Set any IP number. More... | |
| int | getPort () const |
| Get port number. More... | |
| void | setPort (const int port) |
| Set port number. More... | |
| int | getSize () const |
| Get size of pending data. More... | |
| void | set (const JSocketBuffer< JElement_t > &buffer) |
| Initialise buffer. More... | |
| void | set (JElement_t *buffer, const int length) |
| Initialise buffer. More... | |
| void | reset () |
| Reset. More... | |
| JStatus_t | getStatus () const |
| Get status of I/O. More... | |
| bool | isReset () const |
| Check reset status. More... | |
| bool | isBusy () const |
| Check busy status. More... | |
| bool | isReady () const |
| Check ready status. More... | |
| int | getCounter () const |
| Get number of I/O attempts. More... | |
Static Public Member Functions | |
| static int | sizeOf () |
| Get size of object. More... | |
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. More... | |
| template<class T > | |
| T | getOption (const int level, const int option) const |
| Get socket option. More... | |
| void | setStatus (const JStatus_t status) |
| Set status of I/O. More... | |
Protected Attributes | |
| int | fileDescriptor |
| JElement_t * | __data |
| int | __size |
| JStatus_t | status |
| int | counter |
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 |
| Enumerator | |
|---|---|
| IO_RESET | |
| IO_READY | |
| IO_BUSY | |
Definition at line 26 of file JSocketStatus.hh.
|
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.
|
inlineinherited |
Set non-blocking of I/O.
| on | true to enable non-blocking; false to disable |
Definition at line 42 of file JTCPSocket.hh.
|
inlineinherited |
Get non-blocking of I/O.
Definition at line 66 of file JTCPSocket.hh.
|
inlineinherited |
Set the TCP idle time.
| t_s | time [s] |
Definition at line 84 of file JTCPSocket.hh.
|
inlineinherited |
Set the TCP idle count.
| count | count |
Definition at line 95 of file JTCPSocket.hh.
|
inlineinherited |
Set the TCP interval time.
| t_s | time [s] |
Definition at line 106 of file JTCPSocket.hh.
|
inlineinherited |
Set TCP no-delay.
| on | true to set TCP no-delay; false to disable |
Definition at line 117 of file JTCPSocket.hh.
|
inlineinherited |
Get TCP no-delay.
Definition at line 128 of file JTCPSocket.hh.
|
inlineinherited |
Accept connection from a server.
| server | file descriptor of server socket |
Definition at line 139 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on local host.
| port | port number |
Definition at line 152 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
| hostname | host name |
Definition at line 163 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
| hostname | host name |
| port | port number |
Definition at line 175 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
| ip_number | IP number |
| port | port number |
Definition at line 187 of file JTCPSocket.hh.
|
inlineinherited |
Shut down socket.
Definition at line 72 of file JSocket.hh.
|
inlineinherited |
Set keep alive of socket.
| on | true to enable keep alive; false to disable |
Definition at line 87 of file JSocket.hh.
|
inlineinherited |
Get keep alive of socket.
Definition at line 98 of file JSocket.hh.
|
inlineinherited |
Set reuse address.
| on | true to enable reuse address; false to disable |
Definition at line 109 of file JSocket.hh.
|
inlineinherited |
Get reuse address.
Definition at line 120 of file JSocket.hh.
|
inlineinherited |
Set receive buffer size.
| size | number of bytes |
Definition at line 131 of file JSocket.hh.
|
inlineinherited |
|
inlineinherited |
Set send buffer size.
| size | number of bytes |
Definition at line 153 of file JSocket.hh.
|
inlineinherited |
|
inlineoverridevirtualinherited |
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 JLANG::JFile.
Reimplemented in JNET::JUDPSocket, and JNET::JSocketBlocking.
Definition at line 181 of file JSocket.hh.
|
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::JUDPSocket, and JNET::JSocketBlocking.
Definition at line 220 of file JSocket.hh.
|
inlineprotectedinherited |
Set socket option.
| level | level |
| option | option |
| value | value |
Definition at line 257 of file JSocket.hh.
|
inlineprotectedinherited |
Get socket option.
| level | level |
| option | option |
Definition at line 275 of file JSocket.hh.
|
inlineinherited |
Check availability of input.
This method returns true if at least one byte can be read without blocking.
| timeout | timeout |
Definition at line 100 of file JFile.hh.
|
inlineinherited |
Check availability of output.
This method returns true if at least one byte can be written without blocking.
| timeout | timeout |
Definition at line 113 of file JFile.hh.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Check status.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Check end of file.
|
inlineinherited |
Less than operation.
| file | JAbstractFile to be compared |
Definition at line 64 of file JAbstractFile.hh.
|
inlineinherited |
|
inlineinherited |
Set file descriptor.
| file | file descriptor |
Definition at line 86 of file JAbstractFile.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get host name.
Definition at line 88 of file JSocketAddress.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Set any IP number.
Definition at line 119 of file JSocketAddress.hh.
|
inlineinherited |
|
inlineinherited |
Set port number.
| port | port number |
Definition at line 141 of file JSocketAddress.hh.
|
inlinestaticinherited |
|
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 |
|
inlineinherited |
|
inlineinherited |
Check reset status.
Definition at line 54 of file JSocketStatus.hh.
|
inlineinherited |
Check busy status.
Definition at line 65 of file JSocketStatus.hh.
|
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.
1.8.5