+sub usage {
+ die "Usage: $0 [-t tty_line]\n"
+ . "or: $0 -l logfile [-b starttime] [-e endtime] [-f]\n"
+ . "-f ... replay as fast as possible\n";
+}
+
+
+sub log_read_start {
+ my ($data) = @_;
+ my ($logreader, $parser, $fast) = @$data;
+
+ our ($starttime, $log_starttime);
+
+ my ($l_time, @data) = $logreader->get_data();
+ return FALSE if !$l_time;
+
+ my $now = time;
+ $starttime ||= $now;
+
+ $log_starttime ||= $l_time;
+
+ my $time_diff = ($l_time - $log_starttime) - ($now - $starttime);
+ if (!$fast && $time_diff > 0) {
+ # print "sleeping for $time_diff s\n";
+ usleep(1_000_000 * $time_diff);
+ }
+
+ $parser->add_data($l_time, @data);
+
+ return TRUE;
+}