Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tm::synchronizable(3pm) [debian man page]

TM::Synchronizable(3pm) 				User Contributed Perl Documentation				   TM::Synchronizable(3pm)

NAME
TM::Synchronizable - Topic Maps, trait for synchronizable resources SYNOPSIS
# you write an input/output driver # see for example TM::Synchronizable::MLDBM package My::WhatEver; # provides source_in and/or source_out methods sub source_in { .... } sub source_out { .... } 1; # you construct your map class package MySyncableMap; use TM; use base qw(TM); use Class::Trait qw(TM::ResourceAble TM::Synchronizable My::WhatEver); 1; # you then use that my $tm = MySyncableMap (url => 'file:/where/ever'); $tm->sync_in; # work with the map, etc... $tm->sync_out; DESCRIPTION
This trait implements the abstract synchronization between in-memory topic maps and the resources which are attached to them, i.e. files, web pages, etc. whatever can be addressed via a URI. Consequently, this trait inherits from TM::ResourceAble, although Class::Trait does not do this for you (sadly). The trait provides the methods "sync_in" and "sync_out" to implement the synchronization. In this process it uses the timestamp of the map ("last_mod") and that of the resource "mtime". Unfortunately, the granularity of the two are different (at least on current UNIX systems): for the last modification time values from Time::HiRes is used. UNIX resources only use an integer. Note: This needs a bit of consideration from the user's side. INTERFACE
Methods sync_in $tm->sync_in This method provides only the main logic, whether a synchronisation from the resource into the in-memory map should occur. If the last modification date of the resource ("mtime") is more recent than that of the map ("last_mod"), then synchronisation from the resource to the in-memory map will be triggered. For this, a method "source_in" has to exist for the map object; that will be invoked. [Since TM 1.53]: Any additional parameters are passed through to the underlying "source_in" method. sync_out $tm->sync_out This method provides the logic, whether synchronisation from the in-memory map towards the attached resource should occur or not. If the last modification date of the map ("last_mod") is more recent than that of the resource ("mtime"), then a method "source_out" for the object is triggered. [Since TM 1.53]: Any additional parameters are passed through to the underlying "source_out" method. SEE ALSO
TM, TM::ResourceAble AUTHOR INFORMATION
Copyright 20(0[6]|10), Robert Barta <drrho@cpan.org>, All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. http://www.perl.com/perl/misc/Artistic.html perl v5.10.1 2012-06-05 TM::Synchronizable(3pm)

Check Out this Related Man Page

TM::ResourceAble::MLDBM(3pm)				User Contributed Perl Documentation			      TM::ResourceAble::MLDBM(3pm)

NAME
TM::ResourceAble::MLDBM - Topic Maps, DBM Storage (synchronous) SYNOPSIS
use TM::ResourceAble::MLDBM; { my $tm = new TM::ResourceAble::MLDBM (file => '/tmp/map.dbm'); # modify the map here..... } # it goes out of scope here, and all changes are written back automagically # later in the game { my $tm = new TM::ResourceAble::MLDBM (file => '/tmp/map.dbm'); # we are back in business, no sync necessary } DESCRIPTION
This package just implements TM with a BerkeleyDB store. Unlike TM::Materialized::MLDBM this module does not need explicit synchronisation with the external resource (the DBM file here). It ties content-wise with the DBM file at constructor time and unties at DESTROY time. This implementation technique is not so memory-efficient as I had thought. Whenever an assertion or a toplet is referenced, the whole block of toplets, resp. assertions, is loaded from the DB database. For small maps this is really fast, but it can become a drag for larger maps. See TM::ResourceAble::BDB for a more efficient solution. NOTE: Be careful to use this together with TM::Index::*. The indices will be held as part of the map, and so will be stored along side. If you heavily use the map, this can result in many swapin/swapouts. Better to look at TM::IndexAble for that matter. INTERFACE
Constructor The constructor expects a hash with the following keys: file (no default) This contains the file name of the DBM file to tie to. SEE ALSO
TM, TM::Materialized::MLDBM AUTHOR INFORMATION
Copyright 200[68], Robert Barta <drrho@cpan.org>, All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. http://www.perl.com/perl/misc/Artistic.html perl v5.10.1 2010-07-18 TM::ResourceAble::MLDBM(3pm)
Man Page