OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConfigEtcdClient::EtcdWatcher Class Reference
Inheritance diagram for ConfigEtcdClient::EtcdWatcher:
Collaboration diagram for ConfigEtcdClient::EtcdWatcher:

Public Member Functions

 EtcdWatcher (ConfigEtcdClient *etcd_client)
 
virtual bool Run ()
 Code to execute. Returns true if task is completed. Return false to reschedule the task. More...
 
ConfigEtcdClientclient () const
 
string Description () const
 
- Public Member Functions inherited from Task
 Task (int task_id, int task_instance)
 
 Task (int task_id)
 
virtual ~Task ()
 
virtual void OnTaskCancel ()
 Called on task exit, if it is marked for cancellation. If the user wants to do any cleanup on task cancellation, then he/she can overload this function. More...
 
State GetState () const
 
int GetTaskId () const
 
int GetTaskInstance () const
 
uint64_t GetSeqno () const
 
bool task_cancelled () const
 
uint64_t enqueue_time () const
 
uint64_t schedule_time () const
 
uint32_t execute_delay () const
 
uint32_t schedule_delay () const
 

Private Member Functions

void ProcessResponse (EtcdResponse resp)
 

Private Attributes

ConfigEtcdClientetcd_client_
 

Additional Inherited Members

- Public Types inherited from Task
enum  State { INIT, WAIT, RUN }
 Task states. More...
 
enum  TbbState { TBB_INIT, TBB_ENQUEUED, TBB_EXEC, TBB_DONE }
 
- Static Public Member Functions inherited from Task
static TaskRunning ()
 Returns a pointer to the current task the code is executing under. More...
 
- Static Public Attributes inherited from Task
static const int kTaskInstanceAny = -1
 

Detailed Description

ETCD Watcher class to enable watching for any changes to config. Invokes etcd::Watch() which watches the ETCD server for any changes and invokes provided callback when a change is detected.

Definition at line 62 of file config_etcd_client.cc.

Constructor & Destructor Documentation

ConfigEtcdClient::EtcdWatcher::EtcdWatcher ( ConfigEtcdClient etcd_client)
inline

Definition at line 64 of file config_etcd_client.cc.

Member Function Documentation

ConfigEtcdClient* ConfigEtcdClient::EtcdWatcher::client ( ) const
inline

Definition at line 71 of file config_etcd_client.cc.

string ConfigEtcdClient::EtcdWatcher::Description ( ) const
inlinevirtual

Implements Task.

Definition at line 74 of file config_etcd_client.cc.

void ConfigEtcdClient::EtcdWatcher::ProcessResponse ( EtcdResponse  resp)
private

Definition at line 136 of file config_etcd_client.cc.

Here is the call graph for this function:

bool ConfigEtcdClient::EtcdWatcher::Run ( )
virtual

Code to execute. Returns true if task is completed. Return false to reschedule the task.

If reinit is triggerred, don't wait for end of config trigger. Return from here to process reinit.

Invoke etcd client library to watch for changes.

Implements Task.

Definition at line 141 of file config_etcd_client.cc.

Here is the call graph for this function:

Member Data Documentation

ConfigEtcdClient* ConfigEtcdClient::EtcdWatcher::etcd_client_
private

Definition at line 79 of file config_etcd_client.cc.


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