Roxen.git/
server/
base_server/
roxen.pike
Branch:
Tag:
Non-build tags
All tags
No tags
2000-01-02
2000-01-02 01:03:49 by Martin Nilsson <mani@lysator.liu.se>
1f58d012619c0e909a44cffc0e8b6da356e79a41 (
26
lines) (+
23
/-
3
)
[
Show
|
Annotate
]
Branch:
5.2
Adding status and flush to image cache
Rev: server/base_server/roxen.pike:1.380
5:
*/ // ABS and suicide systems contributed freely by Francesco Chemolli
-
constant cvs_version="$Id: roxen.pike,v 1.
379
1999
/
12
/
28
02:
16
:
39
nilsson Exp $";
+
constant cvs_version="$Id: roxen.pike,v 1.
380
2000
/
01
/
02
01
:
03
:
49
nilsson Exp $";
object backend_thread; ArgCache argcache;
2032:
f->write( data ); }
-
+
static mapping restore_meta( string id ) { Stdio.File f;
2044:
return meta_cache_insert( id, decode_value( f->read() ) ); }
+
void flush(int|void age) {
+
report_debug("Flushing "+name+" image cache.\n");
+
foreach(get_dir(dir), string f)
+
if(f[-2]=='.' && (f[-1]=='i' || f[-1]=='d') && (!age || age>file_stat(dir+f)[2]))
+
rm(dir+f);
+
}
+
+
array status(int|void age) {
+
int files=0, size=0, aged=0;
+
array stat;
+
foreach(get_dir(dir), string f)
+
if(f[-2]=='.' && (f[-1]=='i' || f[-1]=='d')) {
+
files++;
+
stat=file_stat(dir+f,1);
+
if(stat[1]>0) size+=stat[1];
+
if(age<stat[2]) aged++;
+
}
+
return ({files, size, aged});
+
}
+
static mapping restore( string id ) { string|object(Stdio.File) f;
3030:
mapping host_accuracy_cache = ([]); int is_ip(string s) {
-
return (
replace
(s,"
0123456789
."
/"",({""}
)
*11)
==
""
);
+
return (
sscanf
(s,"
%*d
.
%*d.%*d.%*d
")==
4
&& s[-1]>47 && s[-1]<58
);
}