SNode.C
Loading...
Searching...
No Matches
core::socket::stream Namespace Reference

Namespaces

namespace  legacy
 
namespace  stream
 
namespace  tls
 

Classes

class  SocketAcceptor
 
class  SocketClient
 
class  SocketConnection
 
class  SocketConnectionT
 
class  SocketConnector
 
class  SocketContext
 
class  SocketContextFactory
 
class  SocketReader
 
class  SocketServer
 
class  SocketWriter
 

Functions

template<typename SocketAddress , typename PhysicalSocket , typename Config >
SocketAddress getLocalSocketAddress (PhysicalSocket &physicalSocket, Config &config)
 
template<typename SocketAddress , typename PhysicalSocket , typename Config >
SocketAddress getRemoteSocketAddress (PhysicalSocket &physicalSocket, Config &config)
 

Function Documentation

◆ getLocalSocketAddress()

template<typename SocketAddress , typename PhysicalSocket , typename Config >
SocketAddress core::socket::stream::getLocalSocketAddress ( PhysicalSocket & physicalSocket,
Config & config )

Definition at line 37 of file SocketConnector.hpp.

37 {
38 typename SocketAddress::SockAddr localSockAddr;
39 typename SocketAddress::SockLen localSockAddrLen = sizeof(typename SocketAddress::SockAddr);
40
41 SocketAddress localPeerAddress;
42 if (physicalSocket.getSockName(localSockAddr, localSockAddrLen) == 0) {
43 try {
44 localPeerAddress = config->Local::getSocketAddress(localSockAddr, localSockAddrLen);
45 LOG(TRACE) << config->getInstanceName() << " [" << physicalSocket.getFd() << "]" << std::setw(25)
46 << " PeerAddress (local): " << localPeerAddress.toString();
47 } catch (const typename SocketAddress::BadSocketAddress& badSocketAddress) {
48 LOG(WARNING) << config->getInstanceName() << " [" << physicalSocket.getFd() << "]" << std::setw(25)
49 << " PeerAddress (local): " << badSocketAddress.what();
50 }
51 } else {
52 PLOG(WARNING) << config->getInstanceName() << " [" << physicalSocket.getFd() << "]" << std::setw(25)
53 << " PeerAddress (local) not retrievable";
54 }
55
56 return localPeerAddress;
57 }
virtual std::string toString(bool expanded=true) const =0

◆ getRemoteSocketAddress()

template<typename SocketAddress , typename PhysicalSocket , typename Config >
SocketAddress core::socket::stream::getRemoteSocketAddress ( PhysicalSocket & physicalSocket,
Config & config )

Definition at line 60 of file SocketConnector.hpp.

60 {
61 typename SocketAddress::SockAddr remoteSockAddr;
62 typename SocketAddress::SockLen remoteSockAddrLen = sizeof(typename SocketAddress::SockAddr);
63
64 SocketAddress remotePeerAddress;
65 if (physicalSocket.getPeerName(remoteSockAddr, remoteSockAddrLen) == 0) {
66 try {
67 remotePeerAddress = config->Remote::getSocketAddress(remoteSockAddr, remoteSockAddrLen);
68 LOG(TRACE) << config->getInstanceName() << " [" << physicalSocket.getFd() << "]" << std::setw(25)
69 << " PeerAddress (remote): " << remotePeerAddress.toString();
70 } catch (const typename SocketAddress::BadSocketAddress& badSocketAddress) {
71 LOG(WARNING) << config->getInstanceName() << " [" << physicalSocket.getFd() << "]" << std::setw(25)
72 << " PeerAddress (remote): " << badSocketAddress.what();
73 }
74 } else {
75 PLOG(WARNING) << config->getInstanceName() << " [" << physicalSocket.getFd() << "]" << std::setw(25)
76 << " PeerAddress (remote) not retrievable";
77 }
78
79 return remotePeerAddress;
80 }