… | |
… | |
69 | my %DB_SYNC; |
69 | my %DB_SYNC; |
70 | |
70 | |
71 | sub put($$$) { |
71 | sub put($$$) { |
72 | my ($db, $key, $data) = @_; |
72 | my ($db, $key, $data) = @_; |
73 | |
73 | |
|
|
74 | my $key = $db + 0; |
|
|
75 | Scalar::Util::weaken $db; |
74 | $DB_SYNC{$db} = AnyEvent->timer (after => 5, cb => sub { $db->db_sync }); |
76 | $DB_SYNC{$key} ||= AnyEvent->timer (after => 5, cb => sub { |
|
|
77 | delete $DB_SYNC{$key}; |
|
|
78 | $db->db_sync if $db; |
|
|
79 | }); |
75 | |
80 | |
76 | $db->db_put ($key => $data) |
81 | $db->db_put ($key => $data) |
77 | } |
82 | } |
78 | |
83 | |
79 | package CFPlus; |
84 | package CFPlus; |