CernVM-FS  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
publish::SyncMediator Class Reference

#include <sync_mediator.h>

Inheritance diagram for publish::SyncMediator:
Collaboration diagram for publish::SyncMediator:

Public Member Functions

 SyncMediator (catalog::WritableCatalogManager *catalog_manager, const SyncParameters *params, perf::StatisticsTemplate statistics)
 
void RegisterUnionEngine (SyncUnion *engine)
 
 ~SyncMediator ()
 
void Add (SharedPtr< SyncItem > entry)
 
void Touch (SharedPtr< SyncItem > entry)
 
void Remove (SharedPtr< SyncItem > entry)
 
void Replace (SharedPtr< SyncItem > entry)
 
void Clone (const std::string from, const std::string to)
 
void AddUnmaterializedDirectory (SharedPtr< SyncItem > entry)
 
void EnterDirectory (SharedPtr< SyncItem > entry)
 
void LeaveDirectory (SharedPtr< SyncItem > entry)
 
bool Commit (manifest::Manifest *manifest)
 
bool IsExternalData () const
 
bool IsDirectIo () const
 
zlib::Algorithms GetCompressionAlgorithm () const
 
- Public Member Functions inherited from publish::AbstractSyncMediator
virtual ~AbstractSyncMediator ()=0
 

Static Public Attributes

static const unsigned int processing_dot_interval = 100
 

Private Types

typedef std::stack
< HardlinkGroupMap
HardlinkGroupMapStack
 
typedef std::vector
< HardlinkGroup
HardlinkGroupList
 

Private Member Functions

void EnsureAllowed (SharedPtr< SyncItem > entry)
 
void AddFile (SharedPtr< SyncItem > entry)
 
void RemoveFile (SharedPtr< SyncItem > entry)
 
void AddDirectory (SharedPtr< SyncItem > entry)
 
void RemoveDirectory (SharedPtr< SyncItem > entry)
 
void TouchDirectory (SharedPtr< SyncItem > entry)
 
void CreateNestedCatalog (SharedPtr< SyncItem > directory)
 
void RemoveNestedCatalog (SharedPtr< SyncItem > directory)
 
void TouchDirectoryRecursively (SharedPtr< SyncItem > entry)
 
void TouchingFileCallback (const std::string &parent_dir, const std::string &file_name)
 
void TouchingSymlinkCallback (const std::string &parent_dir, const std::string &link_name)
 
void TouchDirectoryCallback (const std::string &parent_dir, const std::string &dir_name)
 
void RemoveDirectoryRecursively (SharedPtr< SyncItem > entry)
 
void RemoveFileCallback (const std::string &parent_dir, const std::string &file_name)
 
void RemoveSymlinkCallback (const std::string &parent_dir, const std::string &link_name)
 
void RemoveCharacterDeviceCallback (const std::string &parent_dir, const std::string &link_name)
 
void RemoveBlockDeviceCallback (const std::string &parent_dir, const std::string &link_name)
 
void RemoveFifoCallback (const std::string &parent_dir, const std::string &link_name)
 
void RemoveSocketCallback (const std::string &parent_dir, const std::string &link_name)
 
void RemoveDirectoryCallback (const std::string &parent_dir, const std::string &dir_name)
 
bool IgnoreFileCallback (const std::string &parent_dir, const std::string &file_name)
 
void EnterAddedDirectoryCallback (const std::string &parent_dir, const std::string &dir_name)
 
void LeaveAddedDirectoryCallback (const std::string &parent_dir, const std::string &dir_name)
 
void AddDirectoryRecursively (SharedPtr< SyncItem > entry)
 
bool AddDirectoryCallback (const std::string &parent_dir, const std::string &dir_name)
 
void AddFileCallback (const std::string &parent_dir, const std::string &file_name)
 
void AddCharacterDeviceCallback (const std::string &parent_dir, const std::string &file_name)
 
void AddBlockDeviceCallback (const std::string &parent_dir, const std::string &file_name)
 
void AddFifoCallback (const std::string &parent_dir, const std::string &file_name)
 
void AddSocketCallback (const std::string &parent_dir, const std::string &file_name)
 
void AddSymlinkCallback (const std::string &parent_dir, const std::string &link_name)
 
SharedPtr< SyncItemCreateSyncItem (const std::string &relative_parent_path, const std::string &filename, const SyncItemType entry_type) const
 
void PublishFilesCallback (const upload::SpoolerResult &result)
 
void PublishHardlinksCallback (const upload::SpoolerResult &result)
 
void CompleteHardlinks (SharedPtr< SyncItem > entry)
 
HardlinkGroupMapGetHardlinkMap ()
 
void LegacyRegularHardlinkCallback (const std::string &parent_dir, const std::string &file_name)
 
void LegacySymlinkHardlinkCallback (const std::string &parent_dir, const std::string &file_name)
 
void LegacyCharacterDeviceHardlinkCallback (const std::string &parent_dir, const std::string &file_name)
 
void LegacyBlockDeviceHardlinkCallback (const std::string &parent_dir, const std::string &file_name)
 
void LegacyFifoHardlinkCallback (const std::string &parent_dir, const std::string &file_name)
 
void LegacySocketHardlinkCallback (const std::string &parent_dir, const std::string &file_name)
 
void InsertLegacyHardlink (SharedPtr< SyncItem > entry)
 
uint64_t GetTemporaryHardlinkGroupNumber (SharedPtr< SyncItem > entry) const
 
void InsertHardlink (SharedPtr< SyncItem > entry)
 
void AddLocalHardlinkGroups (const HardlinkGroupMap &hardlinks)
 
void AddHardlinkGroup (const HardlinkGroup &group)
 

Private Attributes

catalog::WritableCatalogManagercatalog_manager_
 
SyncUnionunion_engine_
 
bool handle_hardlinks_
 
HardlinkGroupMapStack hardlink_stack_
 
pthread_mutex_t lock_file_queue_
 
SyncItemList file_queue_
 
HardlinkGroupList hardlink_queue_
 
const SyncParametersparams_
 
unsigned int changed_items_
 
XattrList default_xattrs_
 
UniquePtr< perf::FsCounterscounters_
 
UniquePtr< SyncDiffReporterreporter_
 

Detailed Description

The SyncMediator refines the input received from a concrete UnionSync object. For example, it resolves the insertion and deletion of complete directories by recursing them. It works as a mediator between the union file system and forwards the correct database commands to the catalog handler to sync the changes into the repository. Furthermore it sends new and modified files to the spooler for compression and hashing.

Definition at line 148 of file sync_mediator.h.

Member Typedef Documentation

Definition at line 182 of file sync_mediator.h.

Definition at line 181 of file sync_mediator.h.

Constructor & Destructor Documentation

publish::SyncMediator::SyncMediator ( catalog::WritableCatalogManager catalog_manager,
const SyncParameters params,
perf::StatisticsTemplate  statistics 
)

Definition at line 38 of file sync_mediator.cc.

Here is the call graph for this function:

publish::SyncMediator::~SyncMediator ( )

Definition at line 56 of file sync_mediator.cc.

Member Function Documentation

void publish::SyncMediator::Add ( SharedPtr< SyncItem entry)
virtual

Add an entry to the repository. Added directories will be traversed in order to add the complete subtree.

Implements publish::AbstractSyncMediator.

Definition at line 90 of file sync_mediator.cc.

Referenced by AddBlockDeviceCallback(), AddCharacterDeviceCallback(), AddFifoCallback(), AddFileCallback(), AddSocketCallback(), AddSymlinkCallback(), and Replace().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddBlockDeviceCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 583 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddCharacterDeviceCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 575 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddDirectory ( SharedPtr< SyncItem entry)
private

Definition at line 1016 of file sync_mediator.cc.

Referenced by AddDirectoryCallback(), AddDirectoryRecursively(), and AddUnmaterializedDirectory().

Here is the call graph for this function:

Here is the caller graph for this function:

bool publish::SyncMediator::AddDirectoryCallback ( const std::string &  parent_dir,
const std::string &  dir_name 
)
private

Definition at line 558 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddDirectoryRecursively ( SharedPtr< SyncItem entry)
private

Definition at line 537 of file sync_mediator.cc.

Referenced by Add().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddFifoCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 591 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddFile ( SharedPtr< SyncItem entry)
private

Definition at line 928 of file sync_mediator.cc.

Referenced by Add().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddFileCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 567 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddHardlinkGroup ( const HardlinkGroup group)
private

Definition at line 1130 of file sync_mediator.cc.

Referenced by AddLocalHardlinkGroups(), and Commit().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddLocalHardlinkGroups ( const HardlinkGroupMap hardlinks)
private

All hardlinks in the current directory have been picked up. Now they are added to the catalogs.

Definition at line 1096 of file sync_mediator.cc.

Referenced by LeaveDirectory().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddSocketCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 598 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddSymlinkCallback ( const std::string &  parent_dir,
const std::string &  link_name 
)
private

Definition at line 605 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::AddUnmaterializedDirectory ( SharedPtr< SyncItem entry)
virtual

Implements publish::AbstractSyncMediator.

Definition at line 1012 of file sync_mediator.cc.

Here is the call graph for this function:

void publish::SyncMediator::Clone ( const std::string  from,
const std::string  to 
)
virtual

Implements publish::AbstractSyncMediator.

Definition at line 264 of file sync_mediator.cc.

Here is the call graph for this function:

bool publish::SyncMediator::Commit ( manifest::Manifest manifest)
virtual

Do any pending processing and commit all changes to the catalogs. To be called after change set traversal is finished.

Implements publish::AbstractSyncMediator.

Definition at line 294 of file sync_mediator.cc.

Referenced by swissknife::Ingest::Main(), swissknife::CommandSync::Main(), and publish::SyncImpl().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::CompleteHardlinks ( SharedPtr< SyncItem entry)
private

Create a recursion engine which DOES NOT recurse into directories. It basically goes through the current directory (in the union volume) and searches for legacy hardlinks which has to be connected to the new or edited ones.

Definition at line 462 of file sync_mediator.cc.

Referenced by LeaveDirectory().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::CreateNestedCatalog ( SharedPtr< SyncItem directory)
private

Definition at line 813 of file sync_mediator.cc.

Referenced by AddDirectory(), and TouchDirectory().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::EnsureAllowed ( SharedPtr< SyncItem entry)
private

The entry /.cvmfs or entries in /.cvmfs/ must not be added, removed or modified manually. The directory /.cvmfs is generated by the VirtualCatalog class if requested.

Definition at line 72 of file sync_mediator.cc.

Referenced by Add(), Remove(), and Touch().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::EnterAddedDirectoryCallback ( const std::string &  parent_dir,
const std::string &  dir_name 
)
private

Definition at line 614 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::EnterDirectory ( SharedPtr< SyncItem entry)
virtual

Implements publish::AbstractSyncMediator.

Definition at line 268 of file sync_mediator.cc.

Referenced by EnterAddedDirectoryCallback().

Here is the caller graph for this function:

zlib::Algorithms publish::SyncMediator::GetCompressionAlgorithm ( ) const
inlinevirtual

Implements publish::AbstractSyncMediator.

Definition at line 176 of file sync_mediator.h.

HardlinkGroupMap& publish::SyncMediator::GetHardlinkMap ( )
inlineprivate

Definition at line 251 of file sync_mediator.h.

Referenced by CompleteHardlinks(), InsertHardlink(), InsertLegacyHardlink(), and LeaveDirectory().

Here is the caller graph for this function:

uint64_t publish::SyncMediator::GetTemporaryHardlinkGroupNumber ( SharedPtr< SyncItem entry) const
private
bool publish::SyncMediator::IgnoreFileCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 709 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::InsertHardlink ( SharedPtr< SyncItem entry)
private

Definition at line 387 of file sync_mediator.cc.

Referenced by Add().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::InsertLegacyHardlink ( SharedPtr< SyncItem entry)
private

Definition at line 414 of file sync_mediator.cc.

Referenced by LegacyBlockDeviceHardlinkCallback(), LegacyCharacterDeviceHardlinkCallback(), LegacyFifoHardlinkCallback(), LegacyRegularHardlinkCallback(), LegacySocketHardlinkCallback(), and LegacySymlinkHardlinkCallback().

Here is the call graph for this function:

Here is the caller graph for this function:

bool publish::SyncMediator::IsDirectIo ( ) const
inlinevirtual

Implements publish::AbstractSyncMediator.

Definition at line 175 of file sync_mediator.h.

bool publish::SyncMediator::IsExternalData ( ) const
inlinevirtual

Implements publish::AbstractSyncMediator.

Definition at line 174 of file sync_mediator.h.

void publish::SyncMediator::LeaveAddedDirectoryCallback ( const std::string &  parent_dir,
const std::string &  dir_name 
)
private

Definition at line 622 of file sync_mediator.cc.

Referenced by AddDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::LeaveDirectory ( SharedPtr< SyncItem entry)
virtual

Implements publish::AbstractSyncMediator.

Definition at line 278 of file sync_mediator.cc.

Referenced by LeaveAddedDirectoryCallback().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::LegacyBlockDeviceHardlinkCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 512 of file sync_mediator.cc.

Referenced by CompleteHardlinks().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::LegacyCharacterDeviceHardlinkCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 503 of file sync_mediator.cc.

Referenced by CompleteHardlinks().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::LegacyFifoHardlinkCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 521 of file sync_mediator.cc.

Referenced by CompleteHardlinks().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::LegacyRegularHardlinkCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 487 of file sync_mediator.cc.

Referenced by CompleteHardlinks().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::LegacySocketHardlinkCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 528 of file sync_mediator.cc.

Referenced by CompleteHardlinks().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::LegacySymlinkHardlinkCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 495 of file sync_mediator.cc.

Referenced by CompleteHardlinks().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::PublishFilesCallback ( const upload::SpoolerResult result)
private

Definition at line 728 of file sync_mediator.cc.

Referenced by SyncMediator().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::PublishHardlinksCallback ( const upload::SpoolerResult result)
private

Definition at line 776 of file sync_mediator.cc.

Referenced by Commit().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RegisterUnionEngine ( SyncUnion engine)
virtual

Implements publish::AbstractSyncMediator.

Definition at line 61 of file sync_mediator.cc.

Here is the call graph for this function:

void publish::SyncMediator::Remove ( SharedPtr< SyncItem entry)
virtual

Remove an entry from the repository. Directories will be recursively removed.

Implements publish::AbstractSyncMediator.

Definition at line 230 of file sync_mediator.cc.

Referenced by InsertLegacyHardlink(), RemoveBlockDeviceCallback(), RemoveCharacterDeviceCallback(), RemoveFifoCallback(), RemoveFileCallback(), RemoveSocketCallback(), RemoveSymlinkCallback(), and Replace().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveBlockDeviceCallback ( const std::string &  parent_dir,
const std::string &  link_name 
)
private

Definition at line 677 of file sync_mediator.cc.

Referenced by RemoveDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveCharacterDeviceCallback ( const std::string &  parent_dir,
const std::string &  link_name 
)
private

Definition at line 668 of file sync_mediator.cc.

Referenced by RemoveDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveDirectory ( SharedPtr< SyncItem entry)
private

this method deletes a single directory entry! Make sure to empty it before you call this method or simply use SyncMediator::RemoveDirectoryRecursively instead.

Definition at line 1051 of file sync_mediator.cc.

Referenced by RemoveDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveDirectoryCallback ( const std::string &  parent_dir,
const std::string &  dir_name 
)
private

Definition at line 701 of file sync_mediator.cc.

Referenced by RemoveDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveDirectoryRecursively ( SharedPtr< SyncItem entry)
private

Definition at line 630 of file sync_mediator.cc.

Referenced by Remove(), and RemoveDirectoryCallback().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveFifoCallback ( const std::string &  parent_dir,
const std::string &  link_name 
)
private

Definition at line 686 of file sync_mediator.cc.

Referenced by RemoveDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveFile ( SharedPtr< SyncItem entry)
private

Definition at line 991 of file sync_mediator.cc.

Referenced by Remove().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveFileCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private

Definition at line 652 of file sync_mediator.cc.

Referenced by RemoveDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveNestedCatalog ( SharedPtr< SyncItem directory)
private

Definition at line 823 of file sync_mediator.cc.

Referenced by RemoveDirectory(), and TouchDirectory().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveSocketCallback ( const std::string &  parent_dir,
const std::string &  link_name 
)
private

Definition at line 693 of file sync_mediator.cc.

Referenced by RemoveDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::RemoveSymlinkCallback ( const std::string &  parent_dir,
const std::string &  link_name 
)
private

Definition at line 660 of file sync_mediator.cc.

Referenced by RemoveDirectoryRecursively().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::Replace ( SharedPtr< SyncItem entry)
virtual

Remove the old entry and add the new one.

Implements publish::AbstractSyncMediator.

Definition at line 258 of file sync_mediator.cc.

Referenced by Touch().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::Touch ( SharedPtr< SyncItem entry)
virtual

Touch an entry in the repository.

Implements publish::AbstractSyncMediator.

Definition at line 169 of file sync_mediator.cc.

Here is the call graph for this function:

void publish::SyncMediator::TouchDirectory ( SharedPtr< SyncItem entry)
private

Definition at line 1066 of file sync_mediator.cc.

Referenced by Touch().

Here is the call graph for this function:

Here is the caller graph for this function:

void publish::SyncMediator::TouchDirectoryCallback ( const std::string &  parent_dir,
const std::string &  dir_name 
)
private
void publish::SyncMediator::TouchDirectoryRecursively ( SharedPtr< SyncItem entry)
private
void publish::SyncMediator::TouchingFileCallback ( const std::string &  parent_dir,
const std::string &  file_name 
)
private
void publish::SyncMediator::TouchingSymlinkCallback ( const std::string &  parent_dir,
const std::string &  link_name 
)
private

Member Data Documentation

unsigned int publish::SyncMediator::changed_items_
mutableprivate

Definition at line 295 of file sync_mediator.h.

UniquePtr<perf::FsCounters> publish::SyncMediator::counters_
private
XattrList publish::SyncMediator::default_xattrs_
private

By default, files have no extended attributes.

Definition at line 300 of file sync_mediator.h.

Referenced by AddDirectory(), AddFile(), AddHardlinkGroup(), PublishFilesCallback(), and TouchDirectory().

SyncItemList publish::SyncMediator::file_queue_
private

Definition at line 290 of file sync_mediator.h.

Referenced by AddFile(), and PublishFilesCallback().

HardlinkGroupList publish::SyncMediator::hardlink_queue_
private

Definition at line 292 of file sync_mediator.h.

Referenced by AddLocalHardlinkGroups(), Commit(), and PublishHardlinksCallback().

HardlinkGroupMapStack publish::SyncMediator::hardlink_stack_
private

Hardlinks are supported as long as they all reside in the same directory. If a recursion enters a directory, we push an empty HardlinkGroupMap to keep track of the hardlinks of this directory. When leaving a directory (i.e. it is completely processed) the stack is popped and the HardlinkGroupMap is processed.

Definition at line 283 of file sync_mediator.h.

Referenced by EnterDirectory(), GetHardlinkMap(), and LeaveDirectory().

pthread_mutex_t publish::SyncMediator::lock_file_queue_
private

New and modified files are sent to an external spooler for hashing and compression. A spooler callback adds them to the catalogs, once processed.

Definition at line 289 of file sync_mediator.h.

Referenced by AddFile(), PublishFilesCallback(), SyncMediator(), and ~SyncMediator().

const unsigned int publish::SyncMediator::processing_dot_interval = 100
static

Definition at line 150 of file sync_mediator.h.


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