Sys::Virt::Stream(3) User Contributed Perl Documentation Sys::Virt::Stream(3)NAMESys::Virt::Stream - Represent & manage a libvirt stream
DESCRIPTION
The "Sys::Virt::Stream" module represents a stream managed by the
virtual machine monitor.
METHODS
my $st Sys::Virt::Stream->new($conn, $flags);
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
Sys::Virt::Stream::NONBLOCK
Create a stream which will not block when performing I/O
Sys::Virt::Stream::EVENT_READABLE
The stream has data available for read without blocking
Sys::Virt::Stream::EVENT_WRITABLE
The stream has ability to write data without blocking
Sys::Virt::Stream::EVENT_ERROR
An error occurred on the stream
Sys::Virt::Stream::EVENT_HANGUP
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"
perl v5.10.1 2012-09-26 Sys::Virt::Stream(3)