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>
84 for (
const auto& [optLevel, socketOptionsMap] : socketOptionsMapMap) {
85 for (
const auto& [optName, socketOption] : socketOptionsMap) {
89 ret = (ret >= 0 && setSockoptRet < 0) ? setSockoptRet : ret;
105 template <
typename SocketAddress>
116 template <
typename SocketAddress>
121 template <
typename SocketAddress>
123 typename SocketAddress::SockLen cErrnoLen =
sizeof(cErrno);
127 template <
typename SocketAddress>
129 PhysicalSocket<SocketAddress>::
setSockopt(
int level,
int optname,
const void* optval,
typename SocketAddress::SockLen optlen)
const {
133 template <
typename SocketAddress>
134 int PhysicalSocket<SocketAddress>::
getSockopt(
int level,
int optname,
void* optval,
typename SocketAddress::SockLen* optlen)
const {
138 template <
typename SocketAddress>
140 typename SocketAddress::SockLen& localSockAddrLen) {
144 template <
typename SocketAddress>
146 typename SocketAddress::SockLen& remoteSockAddrLen) {
150 template <
typename SocketAddress>
socklen_t getOptLen() const
const void * getOptValue() const
int open(const std::map< int, std::map< int, PhysicalSocketOption > > &socketOptionsMapMap, Flags flags)
int getPeerName(typename SocketAddress::SockAddr &remoteSockAddr, typename SocketAddress::SockLen &remoteSockAddrLen)
PhysicalSocket(int domain, int type, int protocol)
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
const 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)