Daniel P. Berrangé > Sys-Virt-0.2.0 > Sys::Virt::Event

Download:
Sys-Virt-0.2.0.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

New  1
Open  1
View Bugs
Report a bug
Source   Latest Release: Sys-Virt-0.2.2

NAME ^

Sys::Virt::Event - An event loop contract

DESCRIPTION ^

The Sys::Virt::Event module represents the contract for integrating libvirt with an event loop. This package is abstract and intended to be subclassed to provide an actual implementation.

METHODS ^

register($impl)

Register an event loop implementation. The implementation should be a instance of a sub-class of the Sys::Virt::Event package.

$self->_run_handle_callback($watch, $fd, $events, $cb, $opaque)

A helper method for executing a callback in response to one of more $events on the file handle $fd. The $watch number is the unique idenifier associated with the file descriptor. The $cb and $opaque parameters are the callback and data registered for the handle.

$self->_run_timeout_callback($timer, $cb, $opaque)

A helper method for executing a callback in response to the expiry of a timeout identified by $timer. The $cb and $opaque parameters are the callback and data registered for the timeout.

$self->_free_callback_opaque($ff, $opaque)

A helper method for freeing the data associated with a callback. The $ff and $opaque parameters are the callback and data registered for the handle/timeout.

CONSTANTS ^

FILE HANDLE EVENTS

When integrating with an event loop the following constants define the file descriptor events

Sys::Virt::Event::HANDLE_READABLE

The file descriptor has data available for read without blocking

Sys::Virt::Event::HANDLE_WRITABLE

The file descriptor has ability to write data without blocking

Sys::Virt::Event::HANDLE_ERROR

An error occurred on the file descriptor

Sys::Virt::Event::HANDLE_HANGUP

The remote end of the file descriptor closed

AUTHORS ^

Daniel P. Berrange <berrange@redhat.com>

COPYRIGHT ^

Copyright (C) 2006-2009 Red Hat Copyright (C) 2006-2009 Daniel P. Berrange

LICENSE ^

This program is free software; you can redistribute it and/or modify it under the terms of either the GNU General Public License as published by the Free Software Foundation (either version 2 of the License, or at your option any later version), or, the Artistic License, as specified in the Perl README file.

SEE ALSO ^

Sys::Virt, http://libvirt.org