NAME
LaBrea::Tarpit::Util
SYNOPSIS
use LaBrea::Tarpit::Util qw( .... );
$rv = cache_is_valid(*HANDLE,\%look_n_feel,$short);
$rv = update_cache(\%look_n_feel,\$html,\$short);
($modtime,$update)=daemon2_cache($cache,$src,$age);
$modtime = page_is_current($cache_time,$page);
$rv = share_open(*LOCK,*FILE,$filename,$nblock,$umask);
$rv = ex_open(*LOCK,*FILE,$filename,$func,$nblock,$umask);
$rv = close_file(*LOCK,*FILE)
$time_string = http_date(time);
$name = script_name($depth);
$alive = reap_kids(\%kids); deprecated in this module
DESCRIPTION - LaBrea::Tarpit::Util
A collection of utility programs used by other modules and applications of LaBrea::Tarpit
- $rv=cache_is_valid(*HANDLE,\%look_n_feel,$short);
-
input: HANDLE \look_n_feel flag, true = check short cache false = standard returns: size of file, HANDLE open if cache valid false, cache requires update dispose: close HANDLE;
- $rv = update_cache(\%look_n_feel,\$html,\$short);
-
Write new cache file with contents of optional $html and/or $short The filename for the short cache is taken from $look_n_feel{html_cache_file} . '.short' returns: true on success false if failed
- $rv=upd_cache($filename,$pagename,$html,$short);
-
This is the way update_cache should have worked the first time, sigh....
Update a cache for a page and short report.
Write new cache file with contents of optional $html and/or $short The filename for the short cache is taken from $filename . '.short' The page file name is taken from the $filename stub $filename.$pagename i.e. $filename = mycache $pagename = page2 eq => mycache.page2 returns: true on success false if failed
- ($modtime,$update)=daemon2_cache($cache,$src,$age);
-
Return the last modified time of the cache file, update cache if older than $age seconds. Set $@ on error; input: cache file, src file, or hash->{d_host} ->{d_port} ->{d_timeout} age in seconds timeout in seconds [default 60] returns: (mod time, 0), no update (mod time, 1), updated or () on failure
- $modtime=page_is_current($cache_time,$page);
-
Check to see if page is current input: cache time, path to page file returns: mtime of file or false on failure
-
Open a file for shared (read only) access.
input: LOCK handle, FILE handle, filename, non-blocking, umask (default 0117) returns: true on success dispose by: close FILE; close LOCK; This is a READ ONLY OPERATION
- $rv=ex_open(*LOCK,*FILE,$filename,$func,$nblock,$umask);
-
Open a file for exclusive access.
input: LOCK handle, FILE handle, filename, function, non-blocking, umask (default 0117) returns: true on success function: 1 append false or [^\d] rw access -1 new/truncate rw access nblock: false blocking access true non-blocking access dispose by: close FILE; close LOCK;
- $rv = close_file(*LOCK,*FILE);
-
close file and lock file
- $time_string = http_date($time);
-
Returns time string in HTTP date format, same as... Apache::Util::ht_time(time, "%a, %d %b %Y %T %Z",1)); i.e. Sat, 13 Apr 2002 17:36:42 GMT
- $name = script_name($depth);
-
Returns the name of the calling script. (no path, just the name) input: depth of call stack (default = 0) returns: name of calling script
- $mod_ver = labrea_whoami;
-
Returns a string of the form:
$mod_ver = 'Tarpit 1.00 Util 0.04';
showing all the LaBrea modules loaded and their version numbers. The version numbers follow their respective module name, space separated.
- $alive = reap_kids(\%kids);
-
Deprecated in this module, available for backwards compatibility only.
See: LaBrea::NetIO::reap_kids
EXPORT_OK
cache_is_valid
daemon2_cache
close_file
ex_open
http_date
labrea_whoami
page_is_current
script_name
share_open
update_cache
upd_cache
reap_kids
COPYRIGHT
Copyright 2002, Michael Robinton & BizSystems This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
AUTHOR
Michael Robinton, michael@bizsystems.com
SEE ALSO
perl(1), LaBrea::Tarpit(3), LaBrea::Codes(3), LaBrea::Tarpit::Report(3), LaBrea::Tarpit::Get(3), LaBrea::Tarpit::Util(3)