POE-Component-BlogCloud

 view release on metacpan or  search on metacpan

META.yml  view on Meta::CPAN

name: POE-Component-BlogCloud
version: 0.01
abstract: Client for blo.gs streaming cloud server
author: Benjamin Trott <ben+cpan@stupidfool.org>
license: perl
distribution_type: module
requires:
  POE: 0
  XML::SAX: 0
  DateTime: 0
  Class::Accessor: 0
no_index:
  directory:

Makefile.PL  view on Meta::CPAN

# $Id: Makefile.PL 1783 2005-01-09 05:44:52Z btrott $

use inc::Module::Install;

name('POE-Component-BlogCloud');
abstract('Client for blo.gs streaming cloud server');
author('Benjamin Trott <ben+cpan@stupidfool.org>');
version_from('lib/POE/Component/BlogCloud.pm');
license('perl');
no_index(directory => 't');
sign(1);

include('ExtUtils::AutoInstall');

requires('POE');
requires('XML::SAX');

README  view on Meta::CPAN

$Id: README 1783 2005-01-09 05:44:52Z btrott $

This is POE::Component::BlogCloud, a client for the blo.gs streaming
cloud server.

PREREQUISITES

    * POE
    * XML::SAX
    * DateTime
    * Class::Accessor

INSTALLATION

lib/POE/Component/BlogCloud.pm  view on Meta::CPAN

    print STDERR "Got an error... reconnecting in 60 seconds.\n";
    ## Automatic reconnect after 60 seconds.
    $kernel->delay( reconnect => 60 );
}

1;
__END__

=head1 NAME

POE::Component::BlogCloud - Client interface to blo.gs streaming cloud server

=head1 SYNOPSIS

    use POE qw( Component::BlogCloud );
    POE::Component::BlogCloud->spawn(
        ReceivedUpdate => sub {
            my($update) = $_[ ARG0 ];
            ## $update is a POE::Component::BlogCloud::Update object.
        },
    );

=head1 DESCRIPTION

I<POE::Component::BlogCloud> is a client interface to the I<blo.gs>
streaming cloud server, described at I<http://blo.gs/cloud.php>. It's
built using the L<POE> framework for Perl, allowing you to build an
event-based application that receives weblog updates, then acts upon them.

=head1 USAGE

=head2 POE::Component::BlogCloud->spawn( %arg )

=over 4

=item * ReceivedUpdate

The callback to execute when an update from the streaming server is
received. ARG0 contains a I<POE::Component::BlogCloud::Update> that
represents the update information.

This argument is required.

=item * AutoReconnect

If the client is disconnected from the streaming server because of an error,
it can be told to automatically try to reconnect by setting I<AutoReconnect>
to C<1>.

This argument is optional, and if not specified defaults to C<0>, meaning
that the client will not automatically reconnect.

=item * RemoteAddress

The address of the streaming server to connect to.

This argument is optional, and if not specified defaults to C<ping.blo.gs>.

=item * RemotePort

The port where the streaming server is running.

This argument is optional, and if not specified defaults to C<9999>.

=back

=head1 CAVEATS

The specification for the streaming server indicates that gzip compression
will be turned on at some point, at which point an update to this module
will be needed.

In addition, the blo.gs server does sometimes seem to get "stuck" and stop
sending updates, which will be indicated by the client hanging waiting
for an update. There's not much that can be done about this from the client
side.

=head1 LICENSE

lib/POE/Component/BlogCloud/Update.pm  view on Meta::CPAN


=head1 SYNOPSIS

    ## In a ReceivedUpdate handler...
    my($update) = $_[ ARG0 ];
    print "Weblog ", $update->uri, " updated at ", $update->updated_at, "\n";

=head1 DESCRIPTION

I<POE::Component::BlogCloud::Update> represents an update to a weblog
received through the blo.gs streaming cloud server.

=head1 USAGE

=head2 $update->uri

The URI of the weblog.

=head2 $update->name

The name of the weblog.



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