1 package Biblio::RFID::Reader::INET;
4 use base 'IO::Socket::INET';
7 use Time::HiRes qw(ualarm);
8 use Data::Dump qw(dump);
12 Biblio::RFID::Reader::INET - emulate serial port over TCP socket
18 my $count = $self->SUPER::print(@_);
20 #warn "XX ",ref($self), " write response: $count ", dump(@_);
24 our $read_char_time = 1;
25 sub read_char_time { $read_char_time = $_[1] * 1_000 || 1_000_000 };
26 sub read_const_time {};
30 my $len = shift || die "no length?";
31 #warn "XX ",ref($self), " read $len timeout $read_char_time";
34 local $SIG{ALRM} = sub { die "read timeout" };
36 #warn "## read_serial $len timeout $read_char_time\n";
38 ualarm $read_char_time;
39 $len = $self->SUPER::read( $buffer, $len );
47 #warn "## read $len ",dump($buffer);
48 return ( $len, $buffer );
56 L<Biblio::RFID::Reader::Serial>