2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#include "net/phy/PhysicalSocket.h"
44#ifndef DOXYGEN_SHOULD_SKIP_THIS
53 template <
typename SocketAddress>
61 template <
typename SocketAddress>
65 typename SocketAddress::SockLen optLen =
sizeof(
domain);
68 optLen =
sizeof(
type);
75 template <
typename SocketAddress>
79 template <
typename SocketAddress>
85 for (
const auto& [optLevel, socketOptionsMap] : socketOptionsMapMap) {
86 for (
const auto& [optName, socketOption] : socketOptionsMap) {
90 ret = (ret >= 0 && setSockoptRet < 0) ? setSockoptRet : ret;
106 template <
typename SocketAddress>
117 template <
typename SocketAddress>
122 template <
typename SocketAddress>
124 typename SocketAddress::SockLen cErrnoLen =
sizeof(cErrno);
128 template <
typename SocketAddress>
130 PhysicalSocket<SocketAddress>::
setSockopt(
int level,
int optname,
const void* optval,
typename SocketAddress::SockLen optlen)
const {
134 template <
typename SocketAddress>
135 int PhysicalSocket<SocketAddress>::
getSockopt(
int level,
int optname,
void* optval,
typename SocketAddress::SockLen* optlen)
const {
139 template <
typename SocketAddress>
141 typename SocketAddress::SockLen& localSockAddrLen) {
145 template <
typename SocketAddress>
147 typename SocketAddress::SockLen& remoteSockAddrLen) {
151 template <
typename SocketAddress>
socklen_t getOptLen() const
const void * getOptValue() const
int getPeerName(typename SocketAddress::SockAddr &remoteSockAddr, typename SocketAddress::SockLen &remoteSockAddrLen)
PhysicalSocket(int domain, int type, int protocol)
int open(const std::map< int, std::map< int, const PhysicalSocketOption > > &socketOptionsMapMap, Flags flags)
int setSockopt(int level, int optname, const void *optval, typename SocketAddress::SockLen optlen) const
int getSockError(int &cErrno) const
~PhysicalSocket() override
int bind(SocketAddress &bindAddress)
PhysicalSocket(int fd, const SocketAddress &bindAddress)
int getSockName(typename SocketAddress::SockAddr &localSockAddr, typename SocketAddress::SockLen &localSockAddrLen)
SocketAddress bindAddress
SocketAddress getBindAddress() const
int getSockopt(int level, int optname, void *optval, typename SocketAddress::SockLen *optlen) const
int getsockname(int sockfd, sockaddr *addr, socklen_t *addrlen)
int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen)
int socket(int domain, int type, int protocol)
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen)
int getpeername(int sockfd, sockaddr *addr, socklen_t *addrlen)
int bind(int sockfd, const sockaddr *addr, socklen_t addrlen)