Patrick LeBoutillier > IO-Mux-0.08 > IO::Mux::Select

Download:
IO-Mux-0.08.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.08   Source  

NAME ^

IO::Mux::Select - Drop-in replacement for IO::Select when using IO::Mux::Handle objects.

SYNOPSIS ^

  use IO::Mux ;
  use IO::Mux::Select ;

  my $mux = new IO::Mux(\*R) ;
  my $alice = $mux->new_handle() ;
  open($alice, 'alice') ;
  my $bob = $mux->new_handle() ;
  open($bob, 'bob') ;

  my $ims = new IO::Mux::Select($alice, $bob) ;
  while(my @ready = $ims->can_read()){
    foreach my $h (@ready){
      # Do something useful...
    }
  }

DESCRIPTION ^

IO::Mux::Select is a drop-in replacement for IO::Select that knows how to deal with IO::Mux::Handle handles. It also supports real handles so you can mix IO::Mux::Handle handles with real handles.

CONSTRUCTOR ^

new ( [ HANDLES ] )

The constructor creates a new object and optionally initialises it with a set of handles.

METHODS ^

The same interface as IO::Select is supported, with the following exceptions:

can_read ( [ TIMEOUT ] )

This method behaves pretty much like the IO::Select one, except it is not guaranteed that it will return before TIMEOUT seconds. The reason for this is that the IO:Mux::Handle objets handle data in packets, so if data is "detected" on such a handle, can_read() must read the entire packet before returning.

can_write ( [ TIMEOUT ] )

Not implemented.

has_exception ( [ TIMEOUT ] )

Not implemented.

bits ()

Not implemented.

select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )

Not implemented.

SEE ALSO ^

IO::Select, IO::Mux, IO::Mux::Handle

AUTHOR ^

Patrick LeBoutillier, <patl@cpan.org>

COPYRIGHT AND LICENSE ^

Copyright (C) 2005 by Patrick LeBoutillier

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: