10Duke Enterprise C++ SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
Socket.h
1
#ifndef TENDUKE_OSA_SOCKET_H
2
#define TENDUKE_OSA_SOCKET_H
3
4
#include <cstdint>
5
#include <memory>
6
7
namespace
tenduke
{
namespace
osa
{
8
15
class
Socket
16
{
17
public
:
18
virtual
~Socket
() =
default
;
19
31
virtual
std::unique_ptr<Socket>
accept
(uint32_t timeoutMs) = 0;
32
38
virtual
std::unique_ptr<Socket>
accept
() = 0;
39
45
virtual
void
bind
(
46
std::uint32_t ipAddress,
47
std::uint16_t port
48
) = 0;
49
54
virtual
void
listen
() = 0;
55
64
virtual
int
read
(
void
* buffer, std::size_t bufferSize) = 0;
65
73
virtual
int
write
(
const
void
* buffer, std::size_t len) = 0;
74
79
virtual
std::uint16_t
getPort
()
const
= 0;
80
85
virtual
void
setNonBlocking
() = 0;
86
93
virtual
void
setReceiveTimeout
(std::uint32_t timeoutMs) = 0;
94
};
95
96
}}
97
98
#endif
//TENDUKE_OSA_SOCKET_H
tenduke::osa::Socket
OS-independent abstraction of a socket.
Definition
Socket.h:16
tenduke::osa::Socket::write
virtual int write(const void *buffer, std::size_t len)=0
Write bytes to the socket.
tenduke::osa::Socket::bind
virtual void bind(std::uint32_t ipAddress, std::uint16_t port)=0
Binds the socket.
tenduke::osa::Socket::read
virtual int read(void *buffer, std::size_t bufferSize)=0
Reads bytes from the socket.
tenduke::osa::Socket::setNonBlocking
virtual void setNonBlocking()=0
Sets the socket to non-blocking mode.
tenduke::osa::Socket::accept
virtual std::unique_ptr< Socket > accept()=0
Accepts next connection from listening socket.
tenduke::osa::Socket::accept
virtual std::unique_ptr< Socket > accept(uint32_t timeoutMs)=0
Accepts next connection from listening socket, with a timeout.
tenduke::osa::Socket::getPort
virtual std::uint16_t getPort() const =0
Returns port of the socket.
tenduke::osa::Socket::setReceiveTimeout
virtual void setReceiveTimeout(std::uint32_t timeoutMs)=0
Sets receive timeout for a socket.
tenduke::osa::Socket::listen
virtual void listen()=0
Configures the socket to listen for incoming connections.
tenduke::osa
Operating system abstraction.
Definition
win32_utils.h:7
tenduke
Root for classes, functions and globals of 10Duke C++ Client.
Definition
APIRequest.h:4
core
oidc
osbrowser
src
osa
Socket.h
Generated by
1.17.0