Sys::Virt::Stream - Represent & manage a libvirt stream
The Sys::Virt::Stream module represents a stream managed by the virtual machine monitor.
Sys::Virt::Stream
Creates a new data stream, ready for use with a stream based API. The optional $flags parameter can be used to configure the stream as non-blocking
$flags
Abort I/O on the stream. Either this function or finish must be called on any stream which has been activated
finish
Complete I/O on the stream. Either this function or abort must be called on any stream which has been activated
abort
Receive upto $nbytes worth of data, copying into $data. Returns the number of bytes read, or -2 if I/O would block, or -1 on error.
$nbytes
$data
Send upto $nbytes worth of data, copying from $data. Returns the number of bytes sent, or -2 if I/O would block, or -1 on error.
Receive all data available from the stream, invoking $handler to process the data. The $handler parameter must be a function which expects three arguments, the $st stream object, a scalar containing the data received and a data byte count. The function should return the number of bytes processed, or -1 upon error.
$handler
$st
Send all data produced by $handler to the stream. The $handler parameter must be a function which expects three arguments, the $st stream object, a scalar which must be filled with data and a maximum data byte count desired. The function should return the number of bytes filled, 0 on end of file, or -1 upon error
Register a callback to be invoked whenever the stream has one or more events from $events mask set. The $coderef must be a subroutine that expects 2 parameters, the original $st object and the new $events mask
$events
$coderef
Change the event mask for a previously registered callback to $events
Remove a previously registered callback
Create a stream which will not block when performing I/O
The stream has data available for read without blocking
The stream has ability to write data without blocking
An error occurred on the stream
The remote end of the stream closed
Daniel P. Berrange <berrange@redhat.com>
Copyright (C) 2006-2009 Red Hat Copyright (C) 2006-2007 Daniel P. Berrange
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.
Sys::Virt, Sys::Virt::Error, http://libvirt.org
http://libvirt.org
To install Sys::Virt, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Sys::Virt
CPAN shell
perl -MCPAN -e shell install Sys::Virt
For more information on module installation, please visit the detailed CPAN module installation guide.