+sub log_bytes {
+ my ($self, $bytes, $msg) = @_;
+
+ return if !@$bytes;
+
+ $msg = defined $msg ? ' # ' . $msg : '';
+
+ my $now = gettimeofday;
+
+ if ($now - $self->{log_start} >= $LOG_ROTATE) {
+ close $self->{logfh};
+ $self->{log_gen} = $self->{log_gen} ? 0 : 1;
+ open my $fh, '>', $logfile . '.' . $self->{log_gen}
+ or die "Can't open $logfile.$self->{log_gen}: $!";
+ $self->{logfh} = $fh;
+ $self->{log_start} = $now;
+ }
+
+ $self->{logfh}->print(sprintf('% 10.3f', $now - $self->{starttime}),
+ (map { sprintf(" %02x", $_) } @bytes),
+ $msg, "\n");
+}
+