Skip to content
AnyMQ/Web::Hippie pubsub comet server
Perl CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
eg
inc
lib/Web/Hippie
t
.gitignore
.shipit
MANIFEST
MANIFEST.SKIP
Makefile.PL
README

README

NAME
    Web::Hippie::PubSub - Comet/Long-poll event server using AnyMQ

SYNOPSIS
      use Plack::Builder;
      use AnyMQ;
      use AnyMQ::ZeroMQ;

      my $bus = AnyMQ->new_with_traits(
        traits            => [ 'ZeroMQ' ],
        subscribe_address => 'tcp://localhost:4001',
        publish_address   => 'tcp://localhost:4000',
      );

      # your plack application
      my $app = sub { ... }

      builder {
        # mount hippie server on /_hippie/*
        mount '/_hippie' => builder {
          enable "+Web::Hippie::PubSub",
            keep_alive => 30,   # send 'ping' event every 30 seconds
            bus        => $bus;
          sub {
            my $env = shift;
            my $args = $env->{'hippie.args'};
            my $handle = $env->{'hippie.handle'};
            # Your handler based on PATH_INFO: /init, /error, /message
          }
        };
        mount '/' => my $app;
      };

ATTRIBUTES
    bus AnyMQ bus configured for publish/subscribe events

    keep_alive
        Number of seconds between keep-alive events. ZMQ::Server will send a
        "ping" event to keep connections alive. Set to zero to disable.

DESCRIPTION
    This module adds publish/subscribe capabilities to Web::Hippie using
    AnyMQ.

    See eg/event_server.psgi for example usage.

SEE ALSO
    Web::Hippie, Web::Hippie::Pipe, AnyMQ, ZeroMQ::PubSub

AUTHOR
    Mischa Spiegelmock <revmischa@cpan.org>

    Based on work by:

    Chia-liang Kao <clkao@clkao.org>

    Jonathan Rockway <jrockway@cpan.org>

LICENSE
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

You can’t perform that action at this time.