CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
publish::Session Class Reference
Inheritance diagram for publish::Session:
Collaboration diagram for publish::Session:

Classes

struct  Settings
 

Public Member Functions

 Session ()
 
 Session (const Settings &settings_session)
 
 Session (const SettingsPublisher &settings_publisher, int llvl=0)
 
 ~Session ()
 
void Acquire ()
 
void Drop ()
 
void SetKeepAlive (bool value)
 
bool has_lease () const
 
std::string token_path () const
 

Private Attributes

Settings settings_
 
bool keep_alive_
 
bool has_lease_
 

Additional Inherited Members

- Private Member Functions inherited from SingleCopy
 SingleCopy ()
 

Detailed Description

A session encapsulates an active storage (gateway) lease

Definition at line 230 of file repository.h.

Constructor & Destructor Documentation

publish::Session::Session ( )
inline

For non-gateway nodes, we have an implicit lease for the entire repository

Definition at line 248 of file repository.h.

publish::Session::Session ( const Settings settings_session)
explicit
publish::Session::Session ( const SettingsPublisher settings_publisher,
int  llvl = 0 
)
explicit
publish::Session::~Session ( )

Drops the lease unless keep_alive_ is set

Member Function Documentation

void publish::Session::Acquire ( )
void publish::Session::Drop ( )
bool publish::Session::has_lease ( ) const
inline

Definition at line 260 of file repository.h.

void publish::Session::SetKeepAlive ( bool  value)
std::string publish::Session::token_path ( ) const
inline

Definition at line 261 of file repository.h.

Member Data Documentation

bool publish::Session::has_lease_
private

Definition at line 272 of file repository.h.

bool publish::Session::keep_alive_
private

If set to true, the session is not closed on destruction, i.e. the lease is not dropped and the lease token is not removed. A newly created Session object will pick up an existing lease token and not re-acquire it.

Definition at line 271 of file repository.h.

Settings publish::Session::settings_
private

Definition at line 264 of file repository.h.


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