OpenSDN source code
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
segment_health_check.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017 Juniper Networks, Inc. All rights reserved.
3
*/
4
5
#ifndef vnsw_agent_segment_health_check_hpp
6
#define vnsw_agent_segment_health_check_hpp
7
8
#include "
diag/diag.h
"
9
#include "diag/diag_types.h"
10
#include "
pkt/control_interface.h
"
11
12
class
HealthCheckInstanceService
;
13
14
class
SegmentHealthCheckPkt
:
public
DiagEntry
{
15
public
:
16
enum
Status
{
17
SUCCESS
,
18
FAILURE
19
};
20
static
const
int
kBufferSize
= 1024;
21
22
SegmentHealthCheckPkt
(
HealthCheckInstanceService
*service,
23
DiagTable
*
diag_table
);
24
virtual
~SegmentHealthCheckPkt
();
25
26
virtual
void
SendRequest
();
27
void
RequestTimedOut
(uint32_t seqno);
28
virtual
void
HandleReply
(
DiagPktHandler
*handler);
29
virtual
void
Retry
();
30
virtual
bool
IsDone
() {
31
/* Keep sending health-check packets until this object is removed.
32
* We remove this object when an explicit delete request is received
33
*/
34
return
false
;
35
}
36
virtual
bool
ResendOnTimerExpiry
() {
return
false
; }
37
void
set_service
(
HealthCheckInstanceService
*svc) {
38
service_
= svc;
39
}
40
void
StopDelayTimer
();
41
void
UpdateService
(
HealthCheckInstanceService
*service);
42
43
private
:
44
void
FillDiagHeader
(
AgentDiagPktData
*data)
const
;
45
void
Notify
(
Status
status);
46
bool
RetryHandler
();
47
int
GetTimeout
(
const
HealthCheckInstanceService
*svc)
const
;
48
int
GetDelay
(
const
HealthCheckInstanceService
*svc)
const
;
49
50
HealthCheckInstanceService
*
service_
;
51
Status
state_
;
52
int
delay_msecs_
;
//delay/interval in milliseconds
53
Timer
*
delay_timer_
;
//
54
};
55
56
#endif
SegmentHealthCheckPkt::FAILURE
Definition:
segment_health_check.h:18
SegmentHealthCheckPkt::UpdateService
void UpdateService(HealthCheckInstanceService *service)
Definition:
segment_health_check.cc:189
SegmentHealthCheckPkt::kBufferSize
static const int kBufferSize
Definition:
segment_health_check.h:20
DiagPktHandler
Definition:
diag_pkt_handler.h:30
SegmentHealthCheckPkt::HandleReply
virtual void HandleReply(DiagPktHandler *handler)
Definition:
segment_health_check.cc:167
SegmentHealthCheckPkt::RequestTimedOut
void RequestTimedOut(uint32_t seqno)
Definition:
segment_health_check.cc:159
SegmentHealthCheckPkt::RetryHandler
bool RetryHandler()
Definition:
segment_health_check.cc:58
SegmentHealthCheckPkt::ResendOnTimerExpiry
virtual bool ResendOnTimerExpiry()
Definition:
segment_health_check.h:36
SegmentHealthCheckPkt::set_service
void set_service(HealthCheckInstanceService *svc)
Definition:
segment_health_check.h:37
SegmentHealthCheckPkt::FillDiagHeader
void FillDiagHeader(AgentDiagPktData *data) const
Definition:
segment_health_check.cc:65
DiagTable
Definition:
diag.h:104
HealthCheckInstanceService
Definition:
health_check.h:217
SegmentHealthCheckPkt::IsDone
virtual bool IsDone()
Definition:
segment_health_check.h:30
SegmentHealthCheckPkt::service_
HealthCheckInstanceService * service_
Definition:
segment_health_check.h:50
SegmentHealthCheckPkt::delay_timer_
Timer * delay_timer_
Definition:
segment_health_check.h:53
SegmentHealthCheckPkt
Definition:
segment_health_check.h:14
SegmentHealthCheckPkt::GetTimeout
int GetTimeout(const HealthCheckInstanceService *svc) const
Definition:
segment_health_check.cc:43
SegmentHealthCheckPkt::GetDelay
int GetDelay(const HealthCheckInstanceService *svc) const
Definition:
segment_health_check.cc:34
SegmentHealthCheckPkt::SegmentHealthCheckPkt
SegmentHealthCheckPkt(HealthCheckInstanceService *service, DiagTable *diag_table)
Definition:
segment_health_check.cc:12
DiagEntry::diag_table
DiagTable * diag_table() const
Definition:
diag.h:48
diag.h
SegmentHealthCheckPkt::Status
Status
Definition:
segment_health_check.h:16
control_interface.h
SegmentHealthCheckPkt::SUCCESS
Definition:
segment_health_check.h:17
SegmentHealthCheckPkt::~SegmentHealthCheckPkt
virtual ~SegmentHealthCheckPkt()
Definition:
segment_health_check.cc:29
SegmentHealthCheckPkt::state_
Status state_
Definition:
segment_health_check.h:51
DiagEntry
Definition:
diag.h:21
SegmentHealthCheckPkt::delay_msecs_
int delay_msecs_
Definition:
segment_health_check.h:52
Timer
Definition:
timer.h:54
SegmentHealthCheckPkt::StopDelayTimer
void StopDelayTimer()
Definition:
segment_health_check.cc:177
SegmentHealthCheckPkt::Notify
void Notify(Status status)
Definition:
segment_health_check.cc:181
SegmentHealthCheckPkt::Retry
virtual void Retry()
Definition:
segment_health_check.cc:52
AgentDiagPktData
Definition:
diag.h:73
SegmentHealthCheckPkt::SendRequest
virtual void SendRequest()
Definition:
segment_health_check.cc:72
contrail
controller
src
vnsw
agent
diag
segment_health_check.h
Generated by
1.8.5