Scroll to navigation

Sys::Virt::Stream(3) User Contributed Perl Documentation Sys::Virt::Stream(3)

NAME

Sys::Virt::Stream - Represent & manage a libvirt stream

DESCRIPTION

The "Sys::Virt::Stream" module represents a stream managed by the virtual machine monitor.

METHODS

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
$st->abort()
Abort I/O on the stream. Either this function or "finish" must be called on any stream which has been activated
$st->finish()
Complete I/O on the stream. Either this function or "abort" must be called on any stream which has been activated
$rv = $st->recv($data, $nbytes)
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.
$rv = $st->send($data, $nbytes)
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.
$st->recv_all($handler)
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.
$st->send_all($handler)
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
$st->add_callback($events, $coderef)
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
$st->update_callback($events)
Change the event mask for a previously registered callback to $events
$st->remove_callback();
Remove a previously registered callback

CONSTANTS

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

AUTHORS

Daniel P. Berrange <berrange@redhat.com>

COPYRIGHT

Copyright (C) 2006-2009 Red Hat Copyright (C) 2006-2007 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, Sys::Virt::Error, "http://libvirt.org"

2012-09-26 perl v5.10.1