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 150 of file sync_mediator.h.

Member Typedef Documentation

Definition at line 184 of file sync_mediator.h.

Definition at line 183 of file sync_mediator.h.

Constructor & Destructor Documentation

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

Definition at line 37 of file sync_mediator.cc.

Here is the call graph for this function:

publish::SyncMediator::~SyncMediator ( )

Definition at line 55 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 89 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 541 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 533 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 974 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 516 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 495 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 549 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 886 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 525 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 1082 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 1048 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 556 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 563 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 970 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 222 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 252 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 420 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 771 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 71 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 572 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 226 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 178 of file sync_mediator.h.

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

Definition at line 253 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 667 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 345 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 372 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 177 of file sync_mediator.h.

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

Implements publish::AbstractSyncMediator.

Definition at line 176 of file sync_mediator.h.

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

Definition at line 580 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 236 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 470 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 461 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 479 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 445 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 486 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 453 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 686 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 734 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 60 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 194 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 635 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 626 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 1003 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 659 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 588 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 644 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 949 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 610 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 781 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 651 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 618 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 216 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 133 of file sync_mediator.cc.

Here is the call graph for this function:

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

Definition at line 1018 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 297 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 302 of file sync_mediator.h.

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

SyncItemList publish::SyncMediator::file_queue_
private

Definition at line 292 of file sync_mediator.h.

Referenced by AddFile(), and PublishFilesCallback().

HardlinkGroupList publish::SyncMediator::hardlink_queue_
private

Definition at line 294 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 285 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 291 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 152 of file sync_mediator.h.

SyncUnion* publish::SyncMediator::union_engine_
private

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