ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/ota_update.ext
Revision: 1.6
Committed: Sun Nov 11 05:53:11 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
CVS Tags: rel-3_1, HEAD
Changes since 1.5: +2 -2 lines
Log Message:
move face blob manegemnt fully to perl

File Contents

# User Rev Content
1 root 1.1 #! perl # mandatory
2    
3     # over-the-air update
4    
5     # TODO: same face, different hashes, face needs new number
6    
7 root 1.4 cf::register_async_exticmd ota_update => sub {
8     my ($ns, $reply, $urlader, $exe_id, $exe_ver) = @_;
9 root 1.1
10 root 1.4 Coro::async_pool {
11     my ($face, $ver, $size, $md5, $changes);
12 root 1.1
13 root 1.4 if ($face = cf::face::find "res/ota_update/$urlader,$exe_id.pck") {
14 root 1.6 my $meta = $cf::face::META[$face];
15 root 1.1
16 root 1.4 if ($meta->{exe_ver} gt $exe_ver) {
17 root 1.6 $size = $cf::face::SIZE[0][$face];
18 root 1.4 $ver = $meta->{exe_ver};
19     $md5 = $meta->{md5};
20     if (my $changes_face = cf::face::find "res/ota_update/Changes") {
21     $changes = cf::face::get_data $changes_face;
22     $changes =~ s/^\(\Q$exe_ver\E\).*$//sm;
23     }
24 root 1.1 }
25     }
26    
27 root 1.4 cf::info "ota update request for <$urlader, $exe_id, $exe_ver> replying <$face,$ver,$size,*>";
28 root 1.1
29 root 1.4 $reply->(1, $face, $ver, $size, $md5, $changes);
30     };
31 root 1.1 };
32