GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MOJO::IOLOOP::STREAM (3)

.ds Aq ’

NAME

Mojo::IOLoop::Stream - Non-blocking I/O stream

CONTENTS

SYNOPSIS



  use Mojo::IOLoop::Stream;

  # Create stream
  my $stream = Mojo::IOLoop::Stream->new($handle);
  $stream->on(read => sub {
    my ($stream, $bytes) = @_;
    ...
  });
  $stream->on(close => sub {
    my $stream = shift;
    ...
  });
  $stream->on(error => sub {
    my ($stream, $err) = @_;
    ...
  });

  # Start and stop watching for new data
  $stream->start;
  $stream->stop;

  # Start reactor if necessary
  $stream->reactor->start unless $stream->reactor->is_running;



DESCRIPTION

Mojo::IOLoop::Stream is a container for I/O streams used by Mojo::IOLoop.

EVENTS

Mojo::IOLoop::Stream inherits all events from Mojo::EventEmitter and can emit the following new ones.

    close



  $stream->on(close => sub {
    my $stream = shift;
    ...
  });



Emitted if the stream gets closed.

    drain



  $stream->on(drain => sub {
    my $stream = shift;
    ...
  });



Emitted once all data has been written.

    error



  $stream->on(error => sub {
    my ($stream, $err) = @_;
    ...
  });



Emitted if an error occurs on the stream, fatal if unhandled.

    read



  $stream->on(read => sub {
    my ($stream, $bytes) = @_;
    ...
  });



Emitted if new data arrives on the stream.

    timeout



  $stream->on(timeout => sub {
    my $stream = shift;
    ...
  });



Emitted if the stream has been inactive for too long and will get closed automatically.

    write



  $stream->on(write => sub {
    my ($stream, $bytes) = @_;
    ...
  });



Emitted if new data has been written to the stream.

ATTRIBUTES

Mojo::IOLoop::Stream implements the following attributes.

    reactor



  my $reactor = $stream->reactor;
  $stream     = $stream->reactor(Mojo::Reactor::Poll->new);



Low-level event reactor, defaults to the reactor attribute value of the global Mojo::IOLoop singleton.

METHODS

Mojo::IOLoop::Stream inherits all methods from Mojo::EventEmitter and implements the following new ones.

    close



  $stream->close;



Close stream immediately.

    close_gracefully



  $stream->close_gracefully;



Close stream gracefully.

    handle



  my $handle = $stream->handle;



Get handle for stream.

    is_readable



  my $bool = $stream->is_readable;



Quick non-blocking check if stream is readable, useful for identifying tainted sockets.

    is_writing



  my $bool = $stream->is_writing;



Check if stream is writing.

    new



  my $stream = Mojo::IOLoop::Stream->new($handle);



Construct a new Mojo::IOLoop::Stream object.

    start



  $stream->start;



Start or resume watching for new data on the stream.

    steal_handle



  my $handle = $stream->steal_handle;



Steal handle from stream and prevent it from getting closed automatically.

    stop



  $stream->stop;



Stop watching for new data on the stream.

    timeout



  my $timeout = $stream->timeout;
  $stream     = $stream->timeout(45);



Maximum amount of time in seconds stream can be inactive before getting closed automatically, defaults to 15. Setting the value to 0 will allow this stream to be inactive indefinitely.

    write



  $stream = $stream->write($bytes);
  $stream = $stream->write($bytes => sub {...});



Write data to stream, the optional drain callback will be executed once all data has been written.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MOJO::IOLOOP::STREAM (3) 2016-03-15

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.