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.