… | |
… | |
49 | CFPlus::DB::Server::req (put => @_); |
49 | CFPlus::DB::Server::req (put => @_); |
50 | } |
50 | } |
51 | |
51 | |
52 | sub unlink($$) { |
52 | sub unlink($$) { |
53 | CFPlus::DB::Server::req (unlink => @_); |
53 | CFPlus::DB::Server::req (unlink => @_); |
|
|
54 | } |
|
|
55 | |
|
|
56 | sub read_file($$) { |
|
|
57 | CFPlus::DB::Server::req (read_file => @_); |
54 | } |
58 | } |
55 | |
59 | |
56 | sub write_file($$$) { |
60 | sub write_file($$$) { |
57 | CFPlus::DB::Server::req (write_file => @_); |
61 | CFPlus::DB::Server::req (write_file => @_); |
58 | } |
62 | } |
… | |
… | |
274 | |
278 | |
275 | sub do_unlink { |
279 | sub do_unlink { |
276 | unlink $_[0]; |
280 | unlink $_[0]; |
277 | } |
281 | } |
278 | |
282 | |
|
|
283 | sub do_read_file { |
|
|
284 | my ($path) = @_; |
|
|
285 | |
|
|
286 | utf8::downgrade $path; |
|
|
287 | open my $fh, "<:raw", $path |
|
|
288 | or return; |
|
|
289 | sysread $fh, my $buf, -s $fh; |
|
|
290 | |
|
|
291 | $buf |
|
|
292 | } |
|
|
293 | |
279 | sub do_write_file { |
294 | sub do_write_file { |
280 | my ($file, $data) = @_; |
295 | my ($path, $data) = @_; |
281 | |
296 | |
282 | utf8::downgrade $file; |
297 | utf8::downgrade $path; |
283 | utf8::downgrade $data; |
298 | utf8::downgrade $data; |
284 | open my $fh, ">:raw", $file |
299 | open my $fh, ">:raw", $path |
285 | or return; |
300 | or return; |
286 | print $fh $data; |
301 | syswrite $fh, $data; |
287 | close $fh; |
302 | close $fh; |
288 | |
303 | |
289 | 1 |
304 | 1 |
290 | } |
305 | } |
291 | |
306 | |
292 | sub do_prefetch_file { |
307 | sub do_prefetch_file { |
293 | my ($file, $size) = @_; |
308 | my ($path, $size) = @_; |
294 | |
309 | |
295 | utf8::downgrade $file; |
310 | utf8::downgrade $path; |
296 | open my $fh, "<:raw", $file |
311 | open my $fh, "<:raw", $path |
297 | or return; |
312 | or return; |
298 | sysread $fh, my $buf, $size; |
313 | sysread $fh, my $buf, $size; |
299 | |
314 | |
300 | 1 |
315 | 1 |
301 | } |
316 | } |