X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FIPC-MorseSignals.git;a=blobdiff_plain;f=lib%2FIPC%2FMorseSignals%2FEmitter.pm;h=4a8be4f1fd6ac0a0979475fe60de031eac15e355;hp=163e5768d3926957d1f79ff6cd745b5579a5ef05;hb=c6671a5ed11b430ee6fd63c40102d9981a75b3a4;hpb=32591f6355a8abf92d2f79f169cac14c4eea324b diff --git a/lib/IPC/MorseSignals/Emitter.pm b/lib/IPC/MorseSignals/Emitter.pm index 163e576..4a8be4f 100644 --- a/lib/IPC/MorseSignals/Emitter.pm +++ b/lib/IPC/MorseSignals/Emitter.pm @@ -3,12 +3,12 @@ package IPC::MorseSignals::Emitter; use strict; use warnings; -use Carp qw/croak/; -use POSIX qw/SIGUSR1 SIGUSR2/; -use Time::HiRes qw/usleep/; +use Carp qw; +use POSIX qw; +use Time::HiRes qw; use Bit::MorseSignals::Emitter; -use base qw/Bit::MorseSignals::Emitter/; +use base qw; =head1 NAME @@ -16,17 +16,23 @@ IPC::MorseSignals::Emitter - Base class for IPC::MorseSignals emitters. =head1 VERSION -Version 0.15 +Version 0.17 =cut -our $VERSION = '0.15'; +our $VERSION = '0.17'; + +=head1 WARNING + +Due to the POSIX signals specification (which I wasn't aware of at the time I wrote this module), this module is by nature completely unreliable and will never work properly. +It is therefore B. +Please don't use it (if you were actually crazy enough to use it). =head1 SYNOPSIS use IPC::MorseSignals::Emitter; - my $deuce = new IPC::MorseSignals::Emitter speed => 1024; + my $deuce = IPC::MorseSignals::Emitter->new(speed => 1024); $deuce->post('HLAGH') for 1 .. 3; $deuce->send($pid); @@ -43,9 +49,18 @@ sub _check_self { =head1 METHODS -=head2 C<< new < delay => $seconds, speed => $bauds, %bme_options > >> +=head2 C + + my $ime = IPC::MorseSignals::Emitter->new( + delay => $seconds, + speed => $bauds, + %bme_options, + ); -Creates a new emitter object. C specifies the delay between two sends, in seconds, while C is the number of bits sent per second. The delay value has priority over the speed. Default delay is 1 second. Extra arguments are passed to L. +Creates a new emitter object. +C specifies the delay between two sends, in seconds, while C is the number of bits sent per second. +The delay value has priority over the speed, and defaults to 1 second. +Extra arguments are passed to L. =cut @@ -66,7 +81,9 @@ sub new { bless $self, $class; } -=head2 C +=head2 C + + $ime->send($pid); Sends messages enqueued with L to the process C<$pid> (or to all the C<@$pid> if C<$pid> is an array reference, in which case duplicated targets are stripped off). @@ -89,7 +106,10 @@ sub send { } } -=head2 C<< delay < $seconds > >> +=head2 C + + my $delay = $ime->delay; + $ime->delay($seconds); Returns the current delay in seconds, or set it if an argument is provided. @@ -102,7 +122,10 @@ sub delay { return $self->{delay}; } -=head2 C<< speed < $bauds > >> +=head2 C + + my $speed = $ime->speed; + $ime->speed($bauds); Returns the current speed in bauds, or set it if an argument is provided. @@ -147,7 +170,8 @@ You can contact me by mail or on C (vincent). =head1 BUGS -Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. +Please report any bugs or feature requests to C, or through the web interface at L. +I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 SUPPORT @@ -157,7 +181,7 @@ You can find documentation for this module with the perldoc command. =head1 COPYRIGHT & LICENSE -Copyright 2007-2008 Vincent Pit, all rights reserved. +Copyright 2007,2008,2013,2017 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.