#include <ResolvedPeers.h>
Public Types | |
using | size_type = ResolvedPeers::size_type |
Public Member Functions | |
PeerConnectionPointer ()=default | |
PeerConnectionPointer (std::nullptr_t) | |
implicit nullptr conversion More... | |
PeerConnectionPointer (const Comm::ConnectionPointer &conn, const size_type pos) | |
operator bool () const | |
Comm::Connection * | operator-> () const |
Comm::Connection & | operator* () const |
operator const Comm::ConnectionPointer & () const | |
convenience conversion to Comm::ConnectionPointer More... | |
void | finalize (const Comm::ConnectionPointer &conn) |
upgrade stored peer selection details with a matching actual connection More... | |
void | print (std::ostream &) const |
debugging dump More... | |
Private Attributes | |
Comm::ConnectionPointer | connection_ |
half-baked, open, failed, or closed Comm::Connection (or nil) More... | |
size_type | position_ = npos |
ResolvedPeers-maintained membership index (or npos) More... | |
Static Private Attributes | |
static constexpr auto | npos = std::numeric_limits<size_type>::max() |
non-existent position for nil connection More... | |
Friends | |
class | ResolvedPeers |
Detailed Description
An invasive reference-counting Comm::Connection pointer that also keeps an (optional) ResolvedPeers position for the ResolvedPeers::reinstatePath() usage. Reference counting mechanism is compatible with Comm::ConnectionPointer.
Definition at line 121 of file ResolvedPeers.h.
Member Typedef Documentation
◆ size_type
Definition at line 124 of file ResolvedPeers.h.
Constructor & Destructor Documentation
◆ PeerConnectionPointer() [1/3]
|
default |
◆ PeerConnectionPointer() [2/3]
|
inline |
Definition at line 127 of file ResolvedPeers.h.
◆ PeerConnectionPointer() [3/3]
|
inline |
Definition at line 128 of file ResolvedPeers.h.
Member Function Documentation
◆ finalize()
|
inline |
Definition at line 139 of file ResolvedPeers.h.
References conn, and connection_.
Referenced by HappyConnOpener::handleConnOpenerAnswer(), and HappyConnOpener::reuseOldConnection().
◆ operator bool()
|
inlineexplicit |
Definition at line 131 of file ResolvedPeers.h.
References connection_.
◆ operator const Comm::ConnectionPointer &()
|
inline |
Definition at line 136 of file ResolvedPeers.h.
References connection_.
◆ operator*()
|
inline |
Definition at line 133 of file ResolvedPeers.h.
References assert, and connection_.
◆ operator->()
|
inline |
Definition at line 132 of file ResolvedPeers.h.
References assert, connection_, and RefCount< C >::getRaw().
◆ print()
void PeerConnectionPointer::print | ( | std::ostream & | os | ) | const |
Definition at line 229 of file ResolvedPeers.cc.
References connection_, npos, and position_.
Referenced by operator<<().
Friends And Related Function Documentation
◆ ResolvedPeers
|
friend |
Definition at line 153 of file ResolvedPeers.h.
Member Data Documentation
◆ connection_
|
private |
Definition at line 149 of file ResolvedPeers.h.
Referenced by finalize(), operator bool(), operator const Comm::ConnectionPointer &(), operator*(), operator->(), and print().
◆ npos
|
staticconstexprprivate |
Definition at line 146 of file ResolvedPeers.h.
Referenced by print().
◆ position_
Definition at line 152 of file ResolvedPeers.h.
Referenced by print(), and ResolvedPeers::reinstatePath().
The documentation for this class was generated from the following files:
- src/ResolvedPeers.h
- src/ResolvedPeers.cc