SWC-DB  v0.5.9 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::Comm Namespace Reference

The SWC-DB Communications C++ namespace 'SWC::Comm'. More...

Namespaces

 client
 The SWC-DB client C++ namespace 'SWC::Comm::client'.
 
 Protocol
 
 Resolver
 The SWC-DB Resolver C++ namespace 'SWC::Comm::Resolver'.
 
 server
 The SWC-DB server C++ namespace 'SWC::Comm::server'.
 

Classes

class  AppContext
 
class  AppHandler
 
struct  BufferInfo
 
class  Buffers
 
class  ConfigSSL
 
class  ConnHandler
 
class  ConnHandlerPlain
 
class  ConnHandlerSSL
 
class  DispatchHandler
 
class  Event
 
struct  Header
 
class  IoContext
 
struct  Network
 
class  PeriodicTimer
 
class  PeriodicTimers
 
class  ResponseCallback
 
class  Serializable
 

Typedefs

typedef std::shared_ptr< ConnHandlerConnHandlerPtr
 
typedef void(* AppHandler_t) (const ConnHandlerPtr &conn, const Event::Ptr &ev)
 
using SocketLayer = asio::ip::tcp::socket::lowest_layer_type
 
using SocketPlain = asio::ip::tcp::socket
 
using SocketSSL = asio::ssl::stream< asio::ip::tcp::socket >
 
typedef std::shared_ptr< IoContextIoContextPtr
 
typedef asio::ip::tcp::endpoint EndPoint
 
typedef Core::Vector< EndPointEndPoints
 
typedef Core::Vector< NetworkNetworks
 
typedef Core::Vector< asio::ip::network_v4 > Networks_v4
 
typedef Core::Vector< asio::ip::network_v6 > Networks_v6
 

Functions

struct SWC::Comm::Header __attribute__ ((packed))
 
SWC_CAN_INLINE std::ostream & operator<< (std::ostream &out, const EndPoint &endpoint)
 
void print (std::ostream &out, const EndPoints &endpoints)
 
bool SWC_PURE_FUNC has_endpoint (const EndPoint &e1, const EndPoints &endpoints_in) noexcept
 
bool SWC_PURE_FUNC has_endpoint (const EndPoints &endpoints, const EndPoints &endpoints_in) noexcept
 
bool SWC_PURE_FUNC equal_endpoints (const EndPoints &endpoints1, const EndPoints &endpoints2) noexcept
 
size_t endpoints_hash (const EndPoints &endpoints)
 
size_t SWC_PURE_FUNC endpoint_hash (const EndPoint &endpoint) noexcept
 

Detailed Description

The SWC-DB Communications C++ namespace 'SWC::Comm'.

Typedef Documentation

◆ AppHandler_t

typedef void(* SWC::Comm::AppHandler_t) (const ConnHandlerPtr &conn, const Event::Ptr &ev)

Definition at line 15 of file AppHandler.h.

◆ ConnHandlerPtr

typedef std::shared_ptr<ConnHandler> SWC::Comm::ConnHandlerPtr

Definition at line 18 of file AppContext.h.

◆ EndPoint

typedef asio::ip::tcp::endpoint SWC::Comm::EndPoint

Definition at line 19 of file Resolver.h.

◆ EndPoints

Definition at line 20 of file Resolver.h.

◆ IoContextPtr

typedef std::shared_ptr<IoContext> SWC::Comm::IoContextPtr

Definition at line 17 of file IoContext.h.

◆ Networks

Definition at line 52 of file Resolver.h.

◆ Networks_v4

typedef Core::Vector<asio::ip::network_v4> SWC::Comm::Networks_v4

Definition at line 53 of file Resolver.h.

◆ Networks_v6

typedef Core::Vector<asio::ip::network_v6> SWC::Comm::Networks_v6

Definition at line 54 of file Resolver.h.

◆ SocketLayer

using SWC::Comm::SocketLayer = typedef asio::ip::tcp::socket::lowest_layer_type

Definition at line 24 of file ConnHandler.h.

◆ SocketPlain

using SWC::Comm::SocketPlain = typedef asio::ip::tcp::socket

Definition at line 25 of file ConnHandler.h.

◆ SocketSSL

using SWC::Comm::SocketSSL = typedef asio::ssl::stream<asio::ip::tcp::socket>

Definition at line 26 of file ConnHandler.h.

Function Documentation

◆ __attribute__()

struct SWC::Comm::BufferInfo SWC::Comm::__attribute__ ( (packed)  )

◆ endpoint_hash()

size_t SWC::Comm::endpoint_hash ( const EndPoint endpoint)
noexcept

Definition at line 133 of file Resolver.cc.

Referenced by SWC::Manager::MngrRole::disconnection(), SWC::Comm::ConnHandler::endpoint_local_hash(), and SWC::Comm::ConnHandler::endpoint_remote_hash().

+ Here is the caller graph for this function:

◆ endpoints_hash()

size_t SWC::Comm::endpoints_hash ( const EndPoints endpoints)

Definition at line 120 of file Resolver.cc.

References SWC::Core::Vector< T, SizeT, GROW_SZ >::size(), and SWC::Core::to_string().

+ Here is the call graph for this function:

◆ equal_endpoints()

bool SWC::Comm::equal_endpoints ( const EndPoints endpoints1,
const EndPoints endpoints2 
)
noexcept

Definition at line 108 of file Resolver.cc.

References has_endpoint().

Referenced by SWC::Ranger::Range::last_rgr_chk(), SWC::Manager::Rangers::rgr_set(), and SWC::Manager::Rangers::update_status().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ has_endpoint() [1/2]

◆ has_endpoint() [2/2]

bool SWC::Comm::has_endpoint ( const EndPoints endpoints,
const EndPoints endpoints_in 
)
noexcept

Definition at line 99 of file Resolver.cc.

References has_endpoint().

+ Here is the call graph for this function:

◆ operator<<()

SWC_CAN_INLINE std::ostream& SWC::Comm::operator<< ( std::ostream &  out,
const EndPoint endpoint 
)

Definition at line 24 of file Resolver.h.

◆ print()

void SWC::Comm::print ( std::ostream &  out,
const EndPoints endpoints 
)