Carrot

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

lib/Carrot/Continuity/Coordination/Episode/Target/Generic./extutils_dont_exclude.me
lib/Carrot/Continuity/Coordination/Episode/Target/Generic.pm
lib/Carrot/Continuity/Coordination/Episode/Target/Periodic./extutils_dont_exclude.me
lib/Carrot/Continuity/Coordination/Episode/Target/Periodic.pm
lib/Carrot/Continuity/Coordination/Episode/Target/Signal./extutils_dont_exclude.me
lib/Carrot/Continuity/Coordination/Episode/Target/Signal.pm
lib/Carrot/Continuity/Coordination/Episode/Target/Time_Boundary./localized_messages/invalid_boundary_spec/en_US.tpl
lib/Carrot/Continuity/Coordination/Episode/Target/Time_Boundary.pm
lib/Carrot/Continuity/Coordination/Episode/Target/Time_Boundary/Constants./extutils_dont_exclude.me
lib/Carrot/Continuity/Coordination/Episode/Target/Time_Boundary/Constants.pm
lib/Carrot/Continuity/Coordination/Episode/Target/Timeout./extutils_dont_exclude.me
lib/Carrot/Continuity/Coordination/Episode/Target/Timeout.pm
lib/Carrot/Continuity/Coordination/Episode/Target/Wallclock./extutils_dont_exclude.me
lib/Carrot/Continuity/Coordination/Episode/Target/Wallclock.pm
lib/Carrot/Continuity/Operation/Program./default_settings.cdf
lib/Carrot/Continuity/Operation/Program.pm
lib/Carrot/Continuity/Operation/Program/_Plugin_Interface./extutils_dont_exclude.me
lib/Carrot/Continuity/Operation/Program/_Plugin_Prototype./extutils_dont_exclude.me
lib/Carrot/Continuity/Operation/Program/_Plugin_Prototype.pm
lib/Carrot/Continuity/Operation/Program/Control/PID_File./default_settings.cdf
lib/Carrot/Continuity/Operation/Program/Control/PID_File.pm
lib/Carrot/Continuity/Operation/Program/Control/Signal./default_settings.cdf

lib/Carrot/Continuity/Coordination/Episode/Paragraph/TCP_Socket_IO.pm  view on Meta::CPAN

	my $fd_nonstop_io = $loop->construct_standard_episode(
		'::Target::FD_Nonstop_IO', $this, $socket);
	$fd_nonstop_io->activate;
	$fd_nonstop_io->fd_watch_read;
	$this->[ATR_TARGET] = $fd_nonstop_io;

	$this->[ATR_INPUT] = $input_buffer_class->indirect_constructor($protocol);
	$this->[ATR_OUTPUT] = $output_buffer_class->indirect_constructor;

	$this->[ATR_TIMEOUT] = $loop->construct_standard_episode(
		'::Target::Timeout', $this, $io_timeout);
	$this->[ATR_TIMEOUT]->activate;

	return;
}

sub poll_input_buffer
# /type method
# /effect ""
# //parameters
# //returns

lib/Carrot/Continuity/Coordination/Episode/Synopsis./documentation/Synopsis-en.pod  view on Meta::CPAN

Punchy means, there is action upon a simple string. However, there is not much point in formatting and then (one subroutine call later) parsing a simple string. Instead, directly pass the values you have to the specific interfaces.

But there is nothing wrong with documenting the convenience interface. The first parameter is the instance to call back a hard-wired method name. The second parameter is recognized as follows:

=over 8

=item * B<Periodic time event> - 'every NUMBER UNIT'

The target is periodically called from now onwards at times specified. Unit can be seconds, minutes, hours, days, and weeks. The first letter of each unit is sufficient and the singular word is also recognized. Example: 'every 1 s' or 'every 1 second...

=item * B<Timeout event> - 'in NUMBER UNIT'

The target is called once at the time specified in relative form. Unit is the same as for periodic events. Example: 'in 3 hours'.

=item * B<Wallclock time event> - 'at UNIT NUMBER UNIT NUMBER...'

The target is called once at the time specified in absolute form. Note that the unit comes first for wallclock events. Names for units are second, minute, hour, day, and year. No abreviation, no plural. Example: 'at year 2010 month 2 day 12 hour 12 m...

=item * B<Signal event> - 'SIGname'

The target is called each time the process receives the specified signal. For more about signals, see L<perlipc>. Example: 'SIGHUP'. Signals are not perfectly reliable with Carrot::Continuity::Coordination::Episode, try to avoid them.

lib/Carrot/Continuity/Coordination/Episode/Synopsis.pm  view on Meta::CPAN

		$seconds *= $relative_units->{$unit};
		$seconds = 10 if ($seconds < 1);
		if ($mode eq 'every')
		{
			my $ext = (($increments->{'time_periodic'}++ == 0) ? undef : "_$increments->{'time_periodic'}");
			return($loop->construct_episode(
				'::Target::Periodic', $instance, $ext, $seconds));
		} else { # 'in'
			my $ext = (($increments->{'time_timeout'}++ == 0) ? undef : "_$increments->{'time_timeout'}");
			return($loop->construct_episode(
				'::Target::Timeout', $instance, $ext, $seconds));
		}
	} elsif ($value =~ s{^at\h+}{}sg)
	{
		my $e = [];
		while ($value =~ s{^\h*(second|minute|hour|day|month|year)\h+(\d{1,4})}{}sg)
		{
			push($e, [$2, $1]);
		}
		my $ext = (($increments->{'time_wallclock'}++ == 0) ? undef : "_$increments->{'time_wallclock'}");
		my $seconds = postfix_date_format(@$e);

lib/Carrot/Continuity/Coordination/Episode/Target/Timeout.pm  view on Meta::CPAN

package Carrot::Continuity::Coordination::Episode::Target::Timeout
# /type class
# //parent_classes
#	[=component_pkg=]::_Corporate
# /capability ""
{
	use strict;
	use warnings 'FATAL' => 'all';

	my $expressiveness = Carrot::individuality;
	$expressiveness->provide(



( run in 0.256 second using v1.01-cache-2.11-cpan-4d50c553e7e )