class
#include <eckit/net/ProxiedTCPServer.h>
ProxiedTCPServer
Base classes
- class TCPServer
Public static functions
-
static auto addrToHost(in_addr) -> std::
string -
static auto hostToAddr(const std::
string&) -> in_addr -
static auto hostName(const std::
string& h, bool full = false) -> std:: string - static void register_ignore_sigpipe()
Constructors, destructors, conversion operators
-
ProxiedTCPServer(int port = 0,
const net::
SocketOptions& = net::SocketOptions::server()) - ~ProxiedTCPServer()
Public functions
-
auto accept(const std::
string& message = "Waiting for connection", int timeout = 0, bool* connected = nullptr) -> net:: TCPSocket& override - void willFork(bool)
- void closeExec(bool on)
- auto socket() -> int override
- void close() override
- auto write(const void* buf, long length) -> long
- auto read(void* buf, long length) -> long
- auto rawRead(void*, long) -> long
- auto isConnected() const -> bool
- auto stillConnected() const -> bool
- auto remoteAddr() const -> in_addr
-
auto remoteHost() const -> const std::
string& - auto remotePort() const -> int
- auto localAddr() const -> in_addr
-
auto localHost() const -> const std::
string& - auto localPort() const -> int
- void bufferSize(int n)
- void receiveBufferSize(int n)
- void sendBufferSize(int n)
- void closeOutput()
- void closeInput()
- void debug(bool on)
Private functions
-
void print(std::
ostream& s) const override
Function documentation
static std:: string eckit:: ProxiedTCPServer:: addrToHost(in_addr)
#include <eckit/net/TCPSocket.h>
static in_addr eckit:: ProxiedTCPServer:: hostToAddr(const std:: string&)
#include <eckit/net/TCPSocket.h>
static std:: string eckit:: ProxiedTCPServer:: hostName(const std:: string& h,
bool full = false)
#include <eckit/net/TCPSocket.h>
static void eckit:: ProxiedTCPServer:: register_ignore_sigpipe()
#include <eckit/net/TCPSocket.h>
void eckit:: ProxiedTCPServer:: willFork(bool)
#include <eckit/net/TCPServer.h>
void eckit:: ProxiedTCPServer:: closeExec(bool on)
#include <eckit/net/TCPServer.h>
int eckit:: ProxiedTCPServer:: socket() override
#include <eckit/net/TCPServer.h>
void eckit:: ProxiedTCPServer:: close() override
#include <eckit/net/TCPServer.h>
long eckit:: ProxiedTCPServer:: write(const void* buf,
long length)
#include <eckit/net/TCPSocket.h>
long eckit:: ProxiedTCPServer:: read(void* buf,
long length)
#include <eckit/net/TCPSocket.h>
Parameters | |
---|---|
buf | The buffer to read into |
length | The maximum number of bytes to read |
Read from a TCP socket
Configuration flags
- useSelectOnTCPSocket (bool): use select for improved resilience on flaky connections
- socketSelectTimeout (long): timeout in seconds for the select (only if useSelectOnTCPSocket is enabled)
long eckit:: ProxiedTCPServer:: rawRead(void*,
long)
#include <eckit/net/TCPSocket.h>
bool eckit:: ProxiedTCPServer:: isConnected() const
#include <eckit/net/TCPSocket.h>
bool eckit:: ProxiedTCPServer:: stillConnected() const
#include <eckit/net/TCPSocket.h>
in_addr eckit:: ProxiedTCPServer:: remoteAddr() const
#include <eckit/net/TCPSocket.h>
const std:: string& eckit:: ProxiedTCPServer:: remoteHost() const
#include <eckit/net/TCPSocket.h>
int eckit:: ProxiedTCPServer:: remotePort() const
#include <eckit/net/TCPSocket.h>
in_addr eckit:: ProxiedTCPServer:: localAddr() const
#include <eckit/net/TCPSocket.h>
const std:: string& eckit:: ProxiedTCPServer:: localHost() const
#include <eckit/net/TCPSocket.h>
int eckit:: ProxiedTCPServer:: localPort() const
#include <eckit/net/TCPSocket.h>
void eckit:: ProxiedTCPServer:: bufferSize(int n)
#include <eckit/net/TCPSocket.h>
void eckit:: ProxiedTCPServer:: receiveBufferSize(int n)
#include <eckit/net/TCPSocket.h>
void eckit:: ProxiedTCPServer:: sendBufferSize(int n)
#include <eckit/net/TCPSocket.h>
void eckit:: ProxiedTCPServer:: closeOutput()
#include <eckit/net/TCPSocket.h>
void eckit:: ProxiedTCPServer:: closeInput()
#include <eckit/net/TCPSocket.h>
void eckit:: ProxiedTCPServer:: debug(bool on)
#include <eckit/net/TCPSocket.h>