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