CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NotificationClient Class Reference

#include <notification_client.h>

Inheritance diagram for NotificationClient:
Collaboration diagram for NotificationClient:

Public Member Functions

 NotificationClient (const std::string &config, const std::string &repo_name, FuseRemounter *remounter, download::DownloadManager *dl_mgr, signature::SignatureManager *sig_mgr)
 
virtual ~NotificationClient ()
 
void Spawn ()
 

Static Private Member Functions

static void * Run (void *instance)
 

Private Attributes

std::string config_
 
std::string repo_name_
 
FuseRemounterremounter_
 
download::DownloadManagerdl_mgr_
 
signature::SignatureManagersig_mgr_
 
UniquePtr< notify::Subscribersubscriber_
 
pthread_t thread_
 
bool spawned_
 

Additional Inherited Members

- Protected Member Functions inherited from SingleCopy
 SingleCopy ()
 

Detailed Description

Notification system client running inside the mountpoint process

This class implements a client for the repository notification system, meant to run inside the mountpoint process. Constructor arguments are:

Parameters
config- configuration string to connect to the notification system (currently the URL of the notification server)
repo_name- name of the repository associated with the mount point
remounter- a pointer to a FuseRemounter object; upon receiving valid notifications about repository activity, a remount is triggered
sig_mgr- a pointer to a SignatureManager object used to verify messages received from the notification system

Definition at line 33 of file notification_client.h.

Constructor & Destructor Documentation

NotificationClient::NotificationClient ( const std::string &  config,
const std::string &  repo_name,
FuseRemounter remounter,
download::DownloadManager dl_mgr,
signature::SignatureManager sig_mgr 
)

Definition at line 109 of file notification_client.cc.

NotificationClient::~NotificationClient ( )
virtual

Definition at line 123 of file notification_client.cc.

Here is the call graph for this function:

Member Function Documentation

void * NotificationClient::Run ( void *  instance)
staticprivate

Definition at line 143 of file notification_client.cc.

Referenced by Spawn().

Here is the call graph for this function:

Here is the caller graph for this function:

void NotificationClient::Spawn ( )

Definition at line 133 of file notification_client.cc.

Referenced by Spawn().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

std::string NotificationClient::config_
private

Definition at line 46 of file notification_client.h.

Referenced by Run().

download::DownloadManager* NotificationClient::dl_mgr_
private

Definition at line 49 of file notification_client.h.

Referenced by Run().

FuseRemounter* NotificationClient::remounter_
private

Definition at line 48 of file notification_client.h.

Referenced by Run().

std::string NotificationClient::repo_name_
private

Definition at line 47 of file notification_client.h.

Referenced by Run().

signature::SignatureManager* NotificationClient::sig_mgr_
private

Definition at line 50 of file notification_client.h.

Referenced by Run().

bool NotificationClient::spawned_
private

Definition at line 53 of file notification_client.h.

Referenced by Spawn(), and ~NotificationClient().

UniquePtr<notify::Subscriber> NotificationClient::subscriber_
private

Definition at line 51 of file notification_client.h.

Referenced by Run(), and ~NotificationClient().

pthread_t NotificationClient::thread_
private

Definition at line 52 of file notification_client.h.

Referenced by Spawn(), and ~NotificationClient().


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