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

# Content
1 #! perl # mandatory
2
3 # over-the-air update
4
5 # TODO: same face, different hashes, face needs new number
6
7 cf::register_async_exticmd ota_update => sub {
8 my ($ns, $reply, $urlader, $exe_id, $exe_ver) = @_;
9
10 Coro::async_pool {
11 my ($face, $ver, $size, $md5, $changes);
12
13 if ($face = cf::face::find "res/ota_update/$urlader,$exe_id.pck") {
14 my $meta = $cf::face::META[$face];
15
16 if ($meta->{exe_ver} gt $exe_ver) {
17 $size = $cf::face::SIZE[0][$face];
18 $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 }
25 }
26
27 cf::info "ota update request for <$urlader, $exe_id, $exe_ver> replying <$face,$ver,$size,*>";
28
29 $reply->(1, $face, $ver, $size, $md5, $changes);
30 };
31 };
32