Public Member Functions | Data Fields

ParentRecord Class Reference

#include <ParentSelection.h>

Inherits ControlBase.

Collaboration diagram for ParentRecord:
Collaboration graph
[legend]

Public Member Functions

 ParentRecord ()
 ~ParentRecord ()
char * Init (matcher_line *line_info)
bool DefaultInit (char *val)
 established by a config variable
void UpdateMatch (ParentResult *result, RequestData *rdata)
void FindParent (bool firstCall, ParentResult *result, RequestData *rdata, ParentConfigParams *config)
void Print ()
bool bypass_ok () const
const char * ProcessParents (char *val)
void buildConsistentHash (void)

Data Fields

pRecordparents
int num_parents
const char * scheme
ParentRR_t round_robin
volatile uint32_t rr_next
bool go_direct
ATSConsistentHashchash

Detailed Description

Definition at line 189 of file ParentSelection.h.


Constructor & Destructor Documentation

ParentRecord::ParentRecord (  )  [inline]

Definition at line 192 of file ParentSelection.h.

ParentRecord::~ParentRecord (  ) 

Definition at line 942 of file ParentSelection.cc.

References ats_free(), chash, and parents.


Member Function Documentation

void ParentRecord::buildConsistentHash ( void   ) 

Definition at line 804 of file ParentSelection.cc.

References chash, ATSConsistentHash::insert(), num_parents, and parents.

Referenced by Init().

bool ParentRecord::bypass_ok (  )  const [inline]

Definition at line 206 of file ParentSelection.h.

References go_direct.

Referenced by find_server_and_update_current_info(), and FindParent().

bool ParentRecord::DefaultInit ( char *  val  ) 

established by a config variable

Definition at line 781 of file ParentSelection.cc.

References ats_free(), ats_malloc(), go_direct, modulePrefix, ProcessParents(), round_robin, scheme, and SignalError.

Referenced by createDefaultParent().

void ParentRecord::FindParent ( bool  firstCall,
ParentResult result,
RequestData rdata,
ParentConfigParams config 
)
char * ParentRecord::Init ( matcher_line line_info  ) 
void ParentRecord::Print (  ) 

Reimplemented from ControlBase.

Definition at line 951 of file ParentSelection.cc.

References go_direct, num_parents, ParentRRStr, parents, and round_robin.

Referenced by SocksServerConfig::print(), and ParentConfig::print().

const char * ParentRecord::ProcessParents ( char *  val  ) 
void ParentRecord::UpdateMatch ( ParentResult result,
RequestData rdata 
)

Field Documentation

Definition at line 215 of file ParentSelection.h.

Referenced by buildConsistentHash(), FindParent(), and ~ParentRecord().

Definition at line 214 of file ParentSelection.h.

Referenced by bypass_ok(), DefaultInit(), FindParent(), Init(), Print(), and setup_socks_servers().

Definition at line 212 of file ParentSelection.h.

Referenced by DefaultInit(), FindParent(), Init(), and Print().

volatile uint32_t ParentRecord::rr_next

Definition at line 213 of file ParentSelection.h.

Referenced by FindParent().

const char* ParentRecord::scheme

Definition at line 208 of file ParentSelection.h.

Referenced by DefaultInit(), Init(), and ProcessParents().


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