OpenSDN source code
|
#include <health_check.h>
Public Types | |
enum | HealthCheckType { PING, HTTP, BFD, SEGMENT, MAX_HEALTH_CHECK_SERVICES } |
typedef std::map < boost::uuids::uuid, HealthCheckInstanceBase * > | InstanceList |
typedef std::map< IpAddress, HealthCheckInstanceBase * > | IpInstanceList |
![]() | |
typedef boost::intrusive_ptr < AgentDBEntry > | AgentDBEntyRef |
![]() | |
typedef DBTableBase::ListenerId | ListenerId |
typedef std::unique_ptr < DBRequestKey > | KeyPtr |
Public Member Functions | |
HealthCheckService (const HealthCheckTable *table, const boost::uuids::uuid &id) | |
~HealthCheckService () | |
virtual bool | IsLess (const DBEntry &rhs) const |
virtual std::string | ToString () const |
virtual KeyPtr | GetDBRequestKey () const |
virtual void | SetKey (const DBRequestKey *key) |
uint32_t | GetRefCount () const |
bool | DBEntrySandesh (Sandesh *resp, std::string &name) const |
void | PostAdd () |
bool | Copy (HealthCheckTable *table, const HealthCheckServiceData *data) |
HealthCheckInstanceBase * | StartHealthCheckService (VmInterface *intrface, VmInterface *paired_vmi, const IpAddress &source_ip, const IpAddress &destination_ip, const MacAddress &destination_mac, bool ignore_status_event, bool multi_hop) |
HealthCheckInstanceBase * | StartHealthCheckService (VmInterface *intrface, const IpAddress &source_ip, const IpAddress &destination_ip, const MacAddress destination_mac=MacAddress()) |
void | StopHealthCheckService (HealthCheckInstanceBase *instance) |
void | UpdateInstanceServiceReference () |
void | ResyncHealthCheckInterface (const HealthCheckService *service, const VmInterface *intf) |
void | UpdateInterfaceInstanceServiceReference (const VmInterface *intf) |
void | DeleteInstances () |
const boost::uuids::uuid & | uuid () const |
const std::string & | name () const |
uint8_t | ip_proto () const |
uint16_t | url_port () const |
uint32_t | delay () const |
uint64_t | delay_usecs () const |
uint32_t | timeout () const |
uint64_t | timeout_usecs () const |
uint32_t | max_retries () const |
const std::string & | url_path () const |
const std::string & | monitor_type () const |
const HealthCheckTable * | table () const |
bool | IsInstanceTaskBased () const |
bool | IsSegmentHealthCheckService () const |
bool | IsVnIpListHealthCheckService () const |
HealthCheckType | health_check_type () const |
const std::set < boost::uuids::uuid > & | GetVnUuidList () |
const std::set< IpAddress > & | GetTargetIpList () |
bool | IsTargetIpPresent (IpAddress &ip) |
IpAddress | dest_ip () const |
bool | IsHcEnableAllTargetIp () const |
![]() | |
AgentOperDBEntry () | |
virtual | ~AgentOperDBEntry () |
IFMapNode * | ifmap_node () const |
void | SetIFMapNodeState (IFMapDependencyManager::IFMapNodePtr sref) |
![]() | |
AgentDBEntry () | |
virtual | ~AgentDBEntry () |
void | SetRefState () const |
void | ClearRefState () const |
bool | IsActive () const |
DBState * | GetAgentDBEntryState (int listener_id) |
const DBState * | GetAgentDBEntryState (int listener_id) const |
virtual void | AllocateResources (ResourceManager *resource_manager) |
virtual void | FreeResources (ResourceManager *resource_manager) |
![]() | |
DBEntry () | |
virtual | ~DBEntry () |
bool | operator< (const DBEntry &rhs) const |
![]() | |
DBEntryBase () | |
virtual | ~DBEntryBase () |
virtual bool | IsMoreSpecific (const std::string &match) const |
virtual bool | IsLessSpecific (const std::string &match) const |
void | SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state) |
void | ClearState (DBTableBase *tbl_base, ListenerId listener) |
DBState * | GetState (DBTableBase *tbl_base, ListenerId listener) const |
const DBState * | GetState (const DBTableBase *tbl_base, ListenerId listener) const |
bool | is_state_empty (DBTablePartBase *tpart) |
bool | is_state_empty_unlocked (DBTablePartBase *tpart) |
void | Delete () |
void | MarkDelete () |
void | ClearDelete () |
bool | IsDeleted () const |
void | set_onlist () |
void | clear_onlist () |
bool | is_onlist () |
void | SetOnRemoveQ () |
bool | IsOnRemoveQ () |
void | ClearOnRemoveQ () |
void | set_last_change_at (uint64_t time) |
void | set_last_change_at_to_now () |
const uint64_t | last_change_at () const |
const std::string | last_change_at_str () const |
void | set_last_update_at (uint64_t time) |
void | set_last_update_at_to_now () |
const uint64_t | last_update_at () const |
DBTablePartBase * | get_table_partition () const |
void | set_table_partition (DBTablePartBase *tpart) |
DBTableBase * | get_table () const |
void | Notify () |
Private Member Functions | |
HealthCheckType | GetHealthCheckType () const |
DISALLOW_COPY_AND_ASSIGN (HealthCheckService) | |
![]() | |
uint32_t | GetRefCount () const |
AgentRefCount () | |
AgentRefCount (const AgentRefCount &) | |
AgentRefCount & | operator= (const AgentRefCount &) |
virtual | ~AgentRefCount () |
void | swap (AgentRefCount &) |
Private Attributes | |
const HealthCheckTable * | table_ |
boost::uuids::uuid | uuid_ |
IpAddress | dest_ip_ |
std::string | name_ |
std::string | monitor_type_ |
std::string | service_type_ |
uint8_t | ip_proto_ |
std::string | http_method_ |
std::string | url_path_ |
uint16_t | url_port_ |
std::string | expected_codes_ |
uint32_t | delay_ |
uint64_t | delay_usecs_ |
uint32_t | timeout_ |
uint64_t | timeout_usecs_ |
uint32_t | max_retries_ |
InstanceList | intf_list_ |
HealthCheckType | health_check_type_ |
std::set< boost::uuids::uuid > | vn_uuid_list_ |
std::set< IpAddress > | target_ip_list_ |
bool | is_hc_enable_all_ip_ |
![]() | |
tbb::mutex | back_ref_mutex_ |
std::set< IntrusiveReferrer > | back_ref_set_ |
Friends | |
struct | HealthCheckInstanceEvent |
Additional Inherited Members | |
![]() | |
boost::intrusive::list_member_hook | chg_list_ |
Definition at line 271 of file health_check.h.
typedef std::map<boost::uuids::uuid, HealthCheckInstanceBase *> HealthCheckService::InstanceList |
Definition at line 281 of file health_check.h.
typedef std::map<IpAddress, HealthCheckInstanceBase *> HealthCheckService::IpInstanceList |
Definition at line 282 of file health_check.h.
Enumerator | |
---|---|
PING | |
HTTP | |
BFD | |
SEGMENT | |
MAX_HEALTH_CHECK_SERVICES |
Definition at line 274 of file health_check.h.
HealthCheckService::HealthCheckService | ( | const HealthCheckTable * | table, |
const boost::uuids::uuid & | id | ||
) |
HealthCheckService::~HealthCheckService | ( | ) |
bool HealthCheckService::Copy | ( | HealthCheckTable * | table, |
const HealthCheckServiceData * | data | ||
) |
|
virtual |
Implements AgentDBEntry.
Definition at line 426 of file health_check.cc.
|
inline |
Definition at line 330 of file health_check.h.
|
inline |
Definition at line 331 of file health_check.h.
void HealthCheckService::DeleteInstances | ( | ) |
|
inline |
Definition at line 358 of file health_check.h.
|
private |
|
virtual |
Implements DBEntryBase.
Definition at line 415 of file health_check.cc.
|
private |
|
inlinevirtual |
Implements AgentDBEntry.
Definition at line 292 of file health_check.h.
|
inline |
Definition at line 347 of file health_check.h.
|
inline |
Definition at line 344 of file health_check.h.
|
inline |
Definition at line 341 of file health_check.h.
|
inline |
Definition at line 328 of file health_check.h.
|
inline |
Definition at line 359 of file health_check.h.
bool HealthCheckService::IsInstanceTaskBased | ( | ) | const |
|
virtual |
Implements DBEntry.
Definition at line 405 of file health_check.cc.
bool HealthCheckService::IsSegmentHealthCheckService | ( | ) | const |
Definition at line 472 of file health_check.cc.
|
inline |
Definition at line 350 of file health_check.h.
bool HealthCheckService::IsVnIpListHealthCheckService | ( | ) | const |
Definition at line 481 of file health_check.cc.
|
inline |
Definition at line 334 of file health_check.h.
|
inline |
Definition at line 336 of file health_check.h.
|
inline |
Definition at line 326 of file health_check.h.
|
virtual |
Reimplemented from AgentDBEntry.
Definition at line 468 of file health_check.cc.
void HealthCheckService::ResyncHealthCheckInterface | ( | const HealthCheckService * | service, |
const VmInterface * | intf | ||
) |
|
virtual |
Implements DBEntry.
Definition at line 420 of file health_check.cc.
HealthCheckInstanceBase * HealthCheckService::StartHealthCheckService | ( | VmInterface * | intrface, |
VmInterface * | paired_vmi, | ||
const IpAddress & | source_ip, | ||
const IpAddress & | destination_ip, | ||
const MacAddress & | destination_mac, | ||
bool | ignore_status_event, | ||
bool | multi_hop | ||
) |
|
inline |
void HealthCheckService::StopHealthCheckService | ( | HealthCheckInstanceBase * | instance | ) |
|
inline |
Definition at line 337 of file health_check.h.
|
inline |
Definition at line 332 of file health_check.h.
|
inline |
Definition at line 333 of file health_check.h.
|
virtual |
Implements DBEntryBase.
Definition at line 411 of file health_check.cc.
void HealthCheckService::UpdateInstanceServiceReference | ( | ) |
Definition at line 731 of file health_check.cc.
void HealthCheckService::UpdateInterfaceInstanceServiceReference | ( | const VmInterface * | intf | ) |
|
inline |
Definition at line 335 of file health_check.h.
|
inline |
Definition at line 329 of file health_check.h.
|
inline |
Definition at line 325 of file health_check.h.
|
friend |
Definition at line 362 of file health_check.h.
|
private |
Definition at line 381 of file health_check.h.
|
private |
Definition at line 382 of file health_check.h.
|
private |
Definition at line 368 of file health_check.h.
|
private |
Definition at line 380 of file health_check.h.
|
private |
Definition at line 388 of file health_check.h.
|
private |
Definition at line 376 of file health_check.h.
|
private |
Definition at line 387 of file health_check.h.
|
private |
Definition at line 375 of file health_check.h.
|
private |
Definition at line 392 of file health_check.h.
|
private |
Definition at line 385 of file health_check.h.
|
private |
Definition at line 371 of file health_check.h.
|
private |
Definition at line 369 of file health_check.h.
|
private |
Definition at line 373 of file health_check.h.
|
private |
Definition at line 366 of file health_check.h.
|
private |
Definition at line 391 of file health_check.h.
|
private |
Definition at line 383 of file health_check.h.
|
private |
Definition at line 384 of file health_check.h.
|
private |
Definition at line 377 of file health_check.h.
|
private |
Definition at line 379 of file health_check.h.
|
private |
Definition at line 367 of file health_check.h.
|
private |
Definition at line 390 of file health_check.h.