Jpp
18.2.1
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... | |
int | 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 53 of file JTCPSocket.hh.
|
inlineinherited |
Get non-blocking of I/O.
Definition at line 77 of file JTCPSocket.hh.
|
inlineinherited |
Set the TCP idle time.
t_s | time [s] |
Definition at line 95 of file JTCPSocket.hh.
|
inlineinherited |
Set the TCP idle count.
count | count |
Definition at line 106 of file JTCPSocket.hh.
|
inlineinherited |
Set the TCP interval time.
t_s | time [s] |
Definition at line 117 of file JTCPSocket.hh.
|
inlineinherited |
Set TCP no-delay.
on | true to set TCP no-delay; false to disable |
Definition at line 128 of file JTCPSocket.hh.
|
inlineinherited |
Get TCP no-delay.
Definition at line 139 of file JTCPSocket.hh.
|
inlineinherited |
Accept connection from a server.
server | file descriptor of TCP server socket |
Definition at line 150 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on local host.
port | port number |
Definition at line 163 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
hostname | host name |
Definition at line 174 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
hostname | host name |
port | port number |
Definition at line 186 of file JTCPSocket.hh.
|
inlineinherited |
Connect to port on specified host.
ip_number | IP number |
port | port number |
Definition at line 198 of file JTCPSocket.hh.
|
inlineinherited |
Shut down socket.
Definition at line 74 of file JSocket.hh.
|
inlineinherited |
Set keep alive of socket.
on | true to enable keep alive; false to disable |
Definition at line 89 of file JSocket.hh.
|
inlineinherited |
Get keep alive of socket.
Definition at line 100 of file JSocket.hh.
|
inlineinherited |
Set reuse address.
on | true to enable reuse address; false to disable |
Definition at line 111 of file JSocket.hh.
|
inlineinherited |
Get reuse address.
Definition at line 122 of file JSocket.hh.
|
inlineinherited |
Set receive buffer size.
size | number of bytes |
Definition at line 133 of file JSocket.hh.
|
inlineinherited |
|
inlineinherited |
Set send buffer size.
size | number of bytes |
Definition at line 155 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 183 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 222 of file JSocket.hh.
|
inlineprotectedinherited |
Set socket option.
level | level |
option | option |
value | value |
Definition at line 259 of file JSocket.hh.
|
inlineprotectedinherited |
Get socket option.
level | level |
option | option |
Definition at line 277 of file JSocket.hh.
|
inlineinherited |
|
inlineinherited |
Check availability of input.
This method returns true if at least one byte can be read without blocking.
timeout | timeout |
Definition at line 106 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 119 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.