15#ifndef ZYPPNG_IO_SOCKET_DEFINED
16#define ZYPPNG_IO_SOCKET_DEFINED
18#include <zypp-core/zyppng/io/IODevice>
19#include <zypp-core/zyppng/io/SockAddr>
20#include <zypp-core/zyppng/base/Signals>
71 using Ptr = std::shared_ptr<Socket>;
79 static Ptr create (
int domain,
int type,
int protocol );
87 void close()
override;
103 bool bind (
const std::shared_ptr<SockAddr> &addr );
108 bool listen (
int backlog = 50 );
143 bool connect ( std::shared_ptr<SockAddr> addr );
219 Socket (
int domain,
int type,
int protocol );
225 int64_t
writeData(
const char *data, int64_t count)
override;
226 int64_t
readData( uint channel,
char *buffer, int64_t bufsize )
override;
SocketError lastError() const
SignalProxy< void()> sigConnected()
bool connect(std::shared_ptr< SockAddr > addr)
static Ptr fromSocket(int fd, SocketState state)
@ UnsupportedSocketOptions
@ InsufficientPermissions
@ ConnectionClosedByRemote
void readChannelChanged(uint channel) override
bool waitForReadyRead(uint channel, int timeout=-1) override
static Ptr create(int domain, int type, int protocol)
SignalProxy< void()> sigDisconnected()
SignalProxy< void()> sigIncomingConnection()
bool waitForAllBytesWritten(int timeout=-1)
bool listen(int backlog=50)
SignalProxy< void(Socket::SocketError)> sigError()
Socket(int domain, int type, int protocol)
bool setBlocking(const bool set=true)
int64_t writeData(const char *data, int64_t count) override
int64_t bytesPending() const override
bool waitForConnected(int timeout=-1)
std::shared_ptr< Socket > Ptr
bool bind(const std::shared_ptr< SockAddr > &addr)
int64_t readData(uint channel, char *buffer, int64_t bufsize) override
int64_t rawBytesAvailable(uint channel=0) const override
SocketState state() const
#define ZYPP_DECLARE_PRIVATE(Class)