Amanda::Feature - interface to Amanda feature bitfields
# set up features for this instance and print them my $features = Amanda::Feature::Set->mine(); print "my features: $features\n";
# parse the other side's features my $client_feat = Amanda::Feature::Set->from_string($feat_str);
# or assume the other side's features are old my $client_feat = Amanda::Feature::Set->old()
# test for a feature if ($feat->has($Amanda::Feature::fe_options_bsd_auth)) { print "has BSD auth\n"; }
Amanda::Feature::Set
objects are fairly simple. The three constructors are
shown in the SYNOPSIS: mine
(all currently-supported features), old
(only
the features present in versions of Amanda before features were invented), or
from_string
.
An object has three methods to address specific bits:
# set a bit $feat->add($Amanda::Feature::fe_req_xml);
# clear a bit $feat->remove($Amanda::Feature::fe_req_xml);
# test a bit if ($feat->has($Amanda::Feature::fe_req_xml)) ..
And as_string
which converts the feature into a string.
All features are available in scalars of the same name in the
Amanda::Feature
namespace.
This section includes as much information as is available for each feature. Each subsection begins with a description of the protocols in which the feature is relevant, and the end on which the feature is relevant. Any known dependencies for the feature are also mentioned. Assume that any omissions in this section are due to limited information.
PROTOCOL: amidxtaped FEATURE OF: client
If set, the recovery application supports a DATA connection on a separate TCP connection.
Dependencies: this feature is always set when amidxtaped is invoked via amandad.
PROTOCOL: amidxtaped FEATURE OF: server
If set, amidxtaped can process the FEATURES= line in the command. The flag is actually tested by amrecover on amindexd's feature matrix, due to ordering constraints, so it assumes that amindexd and amidxtaped have the same features.
PROTOCOL: amidxtaped FEATURE OF: client
If set, amrecover understands FEEDME lines on the control connection.
Dependencies: this feature can only be set if fe_recover_splits is set.
PROTOCOL: amindexd FEATURE OF: client
If set, the recovery application supports full timestamps; otherwise, it can only process datestamps.
PROTOCOL: amidxtaped FEATURE OF: server
These feature flags indicate what fields amidxtaped supports in the OPTIONS line. Of course, the client would need to know these features before it received the OPTIONS line, which would necessitate sending a NOOP request first. In practice, they are completely unused.
PROTOCOL: amidxtaped FEATURE OF: client
If set, the recovery applications understands MESSAGE lines on the control connection.
Dependencies: a control connection only exists if amidxtaped is launched from amandad or fe_recover_splits is used.
PROTOCOL: amidxtaped FEATURE OF: server
If set, amidxtaped recognizes the TAPE response to FEEDME.
PROTOCOL: amidxtaped FEATURE OF: client
If set, amrecover can process a header containing the corresponding attribute. If not set, the attribute should be stripped from any headers sent to amrecover.
Feature Header Attribute ------- ---------------- dle_in_header dle_str origsize_in_header orig_size
PROTOCOL: amidxtaped FEATURE OF: server
If set, amidxtaped can handle an ABORT message just before the datapath negotiation begins.
PROTOCOL: amidxtaped FEATURE OF: client and server
If set on the client, then amrecover expects the server to start a DATAPATH negotiation after the header is sent. If set on the server, then amrecover can process a DATAPATH negotiation after the header is sent. In other words, the feature must be present on both sides for this negotiation to take place. The DATAPATH negotiation is a three-way handshake:
AVAIL-DATAPATH <datapath list> # to amidxtaped USE-DATAPATH <datapath> [<ip:port> ..] # from amidxtaped DATAPATH-OK # to amidxtaped
No data may be transmitted until the handshake is complete. See the wiki article entitled "amidxtaped protocol" for more detail.
PROTOCOL: amidxtaped FEATURE OF: server
If set, each feature means that amidxtaped can process the corresponding command line. Note that fe_amidxtaped_label does not indicate whether that field contains a label or a tapespec.
PROTOCOL: amidxtaped FEATURE OF: server
If set, then amidxtaped can handle the "nargs" form of a command: The first line was the number of arguments, folloewd by one argument by line. Amidxtaped forked amrestore with these arguments.
This feature is no longer supported.
PROTOCOL: amidxtaped FEATURE OF: amrecover
Amrecovers that do not have this flag may send incorrectly-quoted DISK lines, so those DISK lines should be ignored.
PROTOCOL: amindexd FEATURE OF: server
If set, amindexd quote the label (holdingdisk filename)
This page was automatically generated Tue Nov 19 20:05:35 2013 from the Amanda source tree, and documents the most recent development version of Amanda. For documentation specific to the version of Amanda on your system, use the 'perldoc' command.