IO::Async::Loop::Glib(3pm)

IO::Async::Loop::Glib3pm

Use "io::async" with glib or gtk

Usage

   use IO::Async::Loop::Glib;
   my $loop = IO::Async::Loop::Glib->new();
   $loop->add( ... );
   ...
   # Rest of GLib/Gtk program that uses GLib
   Glib::MainLoop->new->run();

Or

   $loop->run;

Or

   while(1) {
      $loop->loop_once();
   }

Overview

This subclass of "IO::Async::Loop" uses the "Glib::MainLoop" to perform read-ready and write-ready tests.

The appropriate "Glib::IO" sources are added or removed from the "Glib::MainLoop" when notifiers are added or removed from the set, or when they change their "want_writeready" status. The callbacks are called automatically by Glib itself; no special methods on this loop object are required.

Constructor

new

   $loop = IO::Async::Loop::Glib->new()

This function returns a new instance of a "IO::Async::Loop::Glib" object. It takes no special arguments.

Methods

There are no special methods in this subclass, other than those provided by the "IO::Async::Loop" base class.

loop_once

   $loop->loop_once( $timeout )

This method calls the iteration() method on the underlying "Glib::MainContext". If a timeout value is supplied, then a Glib timeout will be installed, to interrupt the loop at that time. If Glib indicates that any callbacks were fired, then this method will return 1 (however, it does not mean that any "IO::Async" callbacks were invoked, as there may be other parts of code sharing the Glib main context. Otherwise, it will return 0.

Releases

8 releases since Debian 6.0 (Squeeze); the text changed 5 times.

  1. 6.0
  2. 7
  3. 8
  4. 9–10
  5. 11–12
  6. 13

Author

Paul Evans <[email protected]>

From libio-async-loop-glib-perl 0.22-2 in Debian 13 (Trixie). Parsed by carta from the page's man source.