AnyEvent-Stomper

 view release on metacpan or  search on metacpan

examples/publisher.pl  view on Meta::CPAN

  },

  on_disconnect => sub {
    print "Disconnected from server\n";
  },
);

my $cv  = AE::cv;
my $num = 1;

my $timer;
$timer = AE::timer( 0, 1,
  sub {
    my $body = 'foo' . $num++;

    $stomper->send(
      destination => '/queue/foo',
      persistent  => 'true',
      body        => $body,

      sub {
        my $receipt = shift;

lib/AnyEvent/Stomper.pm  view on Meta::CPAN

      }
    }
    elsif ( $self->{lazy} ) {
      undef $self->{lazy};
      $self->_connect;
    }
    else {
      if ( defined $self->{reconnect_interval}
        && $self->{reconnect_interval} > 0 )
      {
        unless ( defined $self->{_reconnect_timer} ) {
          weaken($self);

          $self->{_reconnect_timer} = AE::timer(
            $self->{reconnect_interval}, 0,
            sub {
              undef $self->{_reconnect_timer};
              $self->_connect;
            }
          );
        }
      }
      else {
        $self->_connect;
      }
    }

lib/AnyEvent/Stomper.pm  view on Meta::CPAN


sub _reset_internals {
  my $self = shift;

  $self->{_handle}          = undef;
  $self->{_connected}       = 0;
  $self->{_login_state}     = S_NEED_DO;
  $self->{_ready}           = 0;
  $self->{_version}         = undef;
  $self->{_session_id}      = undef;
  $self->{_reconnect_timer} = undef;

  return;
}

sub _abort {
  my $self = shift;
  my $err  = shift;

  my @queued_commands = $self->_queued_commands;
  my %subs            = %{ $self->{_subs} };



( run in 1.047 second using v1.01-cache-2.11-cpan-49f99fa48dc )