Sys::Virt::Stream(3)
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 up to $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 up to $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
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.