X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FBit%2FMorseSignals%2FEmitter.pm;h=54203afccc5f8682bb964697f1ccf5d3b605cda8;hb=72cae6c1d4dcdbfe9b437dc8a8949ce282bffeb0;hp=0bf93b06a3538db50a2df23b7cc7b7aecaf3b1de;hpb=0288f57c6aaf2cb133df80f13d78af66ea094902;p=perl%2Fmodules%2FBit-MorseSignals.git diff --git a/lib/Bit/MorseSignals/Emitter.pm b/lib/Bit/MorseSignals/Emitter.pm index 0bf93b0..54203af 100644 --- a/lib/Bit/MorseSignals/Emitter.pm +++ b/lib/Bit/MorseSignals/Emitter.pm @@ -15,17 +15,17 @@ Bit::MorseSignals::Emitter - Base class for Bit::MorseSignals emitters. =head1 VERSION -Version 0.04 +Version 0.06 =cut -our $VERSION = '0.04'; +our $VERSION = '0.06'; =head1 SYNOPSIS use Bit::MorseSignals::Emitter; - my $deuce = new Bit::MorseSignals::Emitter; + my $deuce = Bit::MorseSignals::Emitter->new; $deuce->post("hlagh") for 1 .. 3; while (defined(my $bit = $deuce->pop)) { sends_by_some_mean_lets_say_signals($bit); @@ -70,7 +70,7 @@ L object constructor. Currently does not take any op sub new { my $class = shift; - $class = ref $class || $class || return; + return unless $class = ref $class || $class; croak 'Optional arguments must be passed as key => value pairs' if @_ % 2; my %opts = @_; my $self = { @@ -128,8 +128,8 @@ sub post { $self->{state} = 2; my $head = ''; - vec($head, 0, 1) = ($type & 2) >> 1; - vec($head, 1, 1) = ($type & 1); + vec($head, 0, 1) = ($type & 1); + vec($head, 1, 1) = ($type & 2) >> 1; vec($head, 2, 1) = 0; my $hlen = 3; @@ -176,6 +176,30 @@ sub pop { return $bit; } +=head2 C + +The length of the currently posted message. + +=cut + +sub len { + my ($self) = @_; + _check_self($self); + return $self->{len}; +} + +=head2 C + +The number of bits that have already been sent for the current message. + +=cut + +sub pos { + my ($self) = @_; + _check_self($self); + return $self->{pos}; +} + =head2 C Cancels the current transfer, but does not empty the queue. @@ -243,7 +267,7 @@ L, L. Vincent Pit, C<< >>, L. -You can contact me by mail or on #perl @ FreeNode (vincent or Prof_Vince). +You can contact me by mail or on C (vincent). =head1 BUGS @@ -255,6 +279,8 @@ You can find documentation for this module with the perldoc command. perldoc Bit::MorseSignals::Emitter +Tests code coverage report is available at L. + =head1 COPYRIGHT & LICENSE Copyright 2008 Vincent Pit, all rights reserved.