NAME

Zing::Ringer - Scheme Ring

ABSTRACT

Multi-Scheme Assembly Ring

SYNOPSIS

use Zing::Ringer;

my $ring = Zing::Ringer->new(schemes => [
  ['MyApp', [], 1],
  ['MyApp', [], 1],
]);

# $ring->execute;

DESCRIPTION

This package provides a mechanism for joining two (or more) processes from their scheme definitions and executes them as one in a turn-based manner.

INHERITS

This package inherits behaviors from:

Zing::Ring

LIBRARIES

This package uses type constraints from:

Zing::Types

ATTRIBUTES

This package has the following attributes:

processes

processes(ArrayRef[Process])

This attribute is read-only, accepts (ArrayRef[Process]) values, and is optional.

schemes

schemes(ArrayRef[Scheme])

This attribute is read-only, accepts (ArrayRef[Scheme]) values, and is required.

METHODS

This package implements the following methods:

reify

reify(Scheme $scheme) : Process

The reify method loads, instantiates, and returns a Zing::Process derived object from an application scheme.

reify example #1
# given: synopsis

$ring->reify(['MyApp', [], 1]);

AUTHOR

Al Newkirk, awncorp@cpan.org

LICENSE

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".

PROJECT

Wiki

Project

Initiatives

Milestones

Contributing

Issues