#include <PortCfg.h>

Inheritance diagram for AnyP::PortCfg:
Collaboration diagram for AnyP::PortCfg:

Public Types

typedef RefCount< CodeContextPointer

Public Member Functions

 PortCfg ()
 PortCfg (PortCfg &&)=delete
 ~PortCfg () override
PortCfgipV4clone () const
 creates the same port configuration but listening on any IPv4 address More...
ScopedId codeContextGist () const override
std::ostream & detailCodeContext (std::ostream &os) const override
 appends human-friendly context description line(s) to a cache.log record More...

Static Public Member Functions

static const PointerCurrent ()
static void Reset ()
 forgets the current context, setting it to nil/unknown More...
static void Reset (const Pointer)
 changes the current context; nil argument sets it to nil/unknown More...

Public Attributes

PortCfgPointer next
Ip::Address s
AnyP::ProtocolVersion transport
 transport protocol and version received by this port More...
char * name
char * defaultsite
TrafficMode flags
 flags indicating what type of traffic to expect via this port. More...
bool allow_direct
 Allow direct forwarding in accelerator mode. More...
bool vhost
 uses host header More...
bool actAsOrigin
 update replies to conform with RFC 2616 More...
bool ignore_cc
 Ignore request Cache-Control directives. More...
bool connection_auth_disabled
 Don't support connection oriented auth. More...
bool ftp_track_dirs
 whether transactions should track FTP directories More...
int vport
 virtual port support. -1 if dynamic, >0 static More...
int disable_pmtu_discovery
bool workerQueues
 whether listening queues should be worker-specific More...
Comm::TcpKeepAlive tcp_keepalive
Comm::ConnectionPointer listenConn
Security::ServerOptions secure
 TLS configuration options for this listening port. More...
Stopwatch busyTime
 time spent in this context (see also: busy_time) More...

Private Member Functions

 PortCfg (const PortCfg &other)

Static Private Member Functions

static void ForgetCurrent ()
static void Entering (const Pointer &codeCtx)
static void Leaving ()

Detailed Description

Definition at line 24 of file PortCfg.h.

Member Typedef Documentation

◆ Pointer

Definition at line 55 of file CodeContext.h.

Constructor & Destructor Documentation

◆ PortCfg() [1/3]

AnyP::PortCfg::PortCfg ( )

Definition at line 28 of file PortCfg.cc.

◆ PortCfg() [2/3]

AnyP::PortCfg::PortCfg ( PortCfg &&  )

◆ ~PortCfg()

AnyP::PortCfg::~PortCfg ( )

Definition at line 48 of file PortCfg.cc.

References Comm::IsConnOpen(), and safe_free.

◆ PortCfg() [3/3]

AnyP::PortCfg::PortCfg ( const PortCfg other)

Definition at line 59 of file PortCfg.cc.

References assert, listenConn, and next.

Member Function Documentation

◆ codeContextGist()

ScopedId AnyP::PortCfg::codeContextGist ( ) const
a small, permanent ID of the current context gists persist forever and are suitable for passing to other SMP workers

Implements CodeContext.

Definition at line 95 of file PortCfg.cc.

◆ Current()

◆ detailCodeContext()

std::ostream & AnyP::PortCfg::detailCodeContext ( std::ostream &  os) const

Implements CodeContext.

Definition at line 103 of file PortCfg.cc.

References Debug::Extra().

◆ Entering()

void CodeContext::Entering ( const Pointer codeCtx)

Switches the current context to the given known context. Improves debugging output by replacing omni-directional "Reset" with directional "Entering".

Definition at line 55 of file CodeContext.cc.

References CodeContext::busyTime, CodeContext::codeContextGist(), debugs, CodeContext::ForgetCurrent(), Instance(), and Stopwatch::resume().

Referenced by CodeContext::Reset().

◆ ForgetCurrent()

void CodeContext::ForgetCurrent ( )

Forgets the current known context, possibly triggering its destruction. Preserves the gist of the being-forgotten context during its destruction. Knows nothing about the next context – the caller must set it.

Definition at line 42 of file CodeContext.cc.

References assert, and Instance().

Referenced by CodeContext::Entering(), and CodeContext::Leaving().

◆ ipV4clone()

AnyP::PortCfg * AnyP::PortCfg::ipV4clone ( ) const

Definition at line 85 of file PortCfg.cc.

References debugs, and AnyP::UriScheme::image().

◆ Leaving()

void CodeContext::Leaving ( )

Forgets the current known context. Improves debugging output by replacing omni-directional "Reset" with directional "Leaving".

Definition at line 68 of file CodeContext.cc.

References debugs, CodeContext::ForgetCurrent(), and Instance().

Referenced by CodeContext::Reset().

◆ Reset() [1/2]

◆ Reset() [2/2]

void CodeContext::Reset ( const Pointer  codeCtx)

Member Data Documentation

◆ actAsOrigin

bool AnyP::PortCfg::actAsOrigin

Definition at line 50 of file PortCfg.h.

◆ allow_direct

bool AnyP::PortCfg::allow_direct

Definition at line 48 of file PortCfg.h.

◆ busyTime

Stopwatch CodeContext::busyTime

Definition at line 76 of file CodeContext.h.

Referenced by Format::Format::assemble(), and CodeContext::Entering().

◆ connection_auth_disabled

bool AnyP::PortCfg::connection_auth_disabled

Definition at line 53 of file PortCfg.h.

◆ defaultsite

char* AnyP::PortCfg::defaultsite

Definition at line 44 of file PortCfg.h.

◆ disable_pmtu_discovery

int AnyP::PortCfg::disable_pmtu_discovery

Definition at line 58 of file PortCfg.h.

◆ flags

TrafficMode AnyP::PortCfg::flags

Definition at line 46 of file PortCfg.h.

◆ ftp_track_dirs

bool AnyP::PortCfg::ftp_track_dirs

Definition at line 55 of file PortCfg.h.

◆ ignore_cc

bool AnyP::PortCfg::ignore_cc

Definition at line 51 of file PortCfg.h.

◆ listenConn

Comm::ConnectionPointer AnyP::PortCfg::listenConn

The listening socket details. If Comm::ConnIsOpen() we are actively listening for client requests. use listenConn->close() to stop.

Definition at line 68 of file PortCfg.h.

Referenced by PortCfg().

◆ name

char* AnyP::PortCfg::name

Definition at line 43 of file PortCfg.h.

◆ next

PortCfgPointer AnyP::PortCfg::next

Definition at line 39 of file PortCfg.h.

Referenced by PortCfg().

◆ s

Ip::Address AnyP::PortCfg::s

Definition at line 41 of file PortCfg.h.

◆ secure

Security::ServerOptions AnyP::PortCfg::secure

Definition at line 71 of file PortCfg.h.

◆ tcp_keepalive

Comm::TcpKeepAlive AnyP::PortCfg::tcp_keepalive

Definition at line 61 of file PortCfg.h.

◆ transport

AnyP::ProtocolVersion AnyP::PortCfg::transport

Definition at line 42 of file PortCfg.h.

◆ vhost

bool AnyP::PortCfg::vhost

Definition at line 49 of file PortCfg.h.

◆ vport

int AnyP::PortCfg::vport

Definition at line 57 of file PortCfg.h.

◆ workerQueues

bool AnyP::PortCfg::workerQueues

Definition at line 59 of file PortCfg.h.

The documentation for this class was generated from the following files:






Web Site Translations