Alice
view release on metacpan or search on metacpan
lib/Alice/HTTP/Stream/XHR.pm view on Meta::CPAN
}
$output .= $string;
$output .= "\n--$separator\n"
. " " x ($self->min_bytes - length $output);
$self->writer->write( $output );
}
sub ping {
my $self = shift;
return if $self->closed;
$self->send([{type => "action", event => "ping"}]);
}
sub close {
my $self = shift;
$self->flush;
$self->writer->close if $self->writer;
$self->writer(undef);
$self->timer(undef);
$self->closed(1);
}
sub flooded {
my $self = shift;
my $diff = time - $self->last_send;
if ($diff < 0.2) {
return 0.2 - $diff;
}
return 0;
}
sub delay {
my ($self, $delay) = @_;
$self->delayed(1);
$self->timer(AnyEvent->timer(
after => $delay,
cb => sub {
$self->delayed(0);
$self->timer(undef);
$self->send;
},
));
}
sub flush {
my $self = shift;
$self->clear_queue;
$self->last_send(time);
}
sub to_string {
my $self = shift;
return to_json({
queue => $self->queue,
time => time - $self->offset,
}, {utf8 => 1, shrink => 1});
}
__PACKAGE__->meta->make_immutable;
1;
( run in 0.702 second using v1.01-cache-2.11-cpan-39bf76dae61 )