NAME
Alvis::Saa - Perl extension for communicating over the Tana protocol
SYNOPSIS
use Alvis::Saa;
my $saa=Alvis::Saa->new();
# Build a Tana message
my %MSG=('command'=>'call',
'object'=>'tfidf',
'function'=>'query',
'max-results'=>10,
'snippets'=>'',
'accuracy'=>0.9,
'query-string'=>"some query");
$saa->queue($host, $port, $msg,
arb_name => undef, arb => undef) || die($saa->{'err'} . "\n");
my($ok, $sent, $received, $pending);
$received = []; $sent = [];
while(scalar(@$sent) < 1)
{
($ok, $sent, $received, $pending) = $saa->process(10);
$ok || die($saa->{'err'} . "\n");
}
if($wait)
{
while(scalar(@$received) < 1)
{
($ok, $sent, $received, $pending) = $saa->process(10);
$ok || die($saa->{'err'} . "\n");
}
# do something with the results
}
DESCRIPTION
Provides a set of methods for sending and receiving Tana messages.
METHODS
new()
Creates a new instance.
err()
Returns the current error message.
listen(port)
Starts listening to 'port'.
connected(host,port)
Are we connected to 'host':'port'?
disconnect_all()
Cut all connections.
disconnect(host,port)
Cut the connection to 'host':'port'.
unlisten(port)
Stop listening to 'port';
connect(host,port)
Connect to 'host':'port'.
queue(host,port,msg,parameters)
Put message 'msg' into the queue for 'host':'port'. 'parameters' is a hash with the following parameters to set:
'tag' => client name for the message
'arb' => scalar data or func(tag) that returs scalar or undef on end-of-data
'arb_name' => scalar
process(timeout)
Process the request with the given timeout in seconds.
SEE ALSO
Alvis::Tana
AUTHOR
Antti Tuominen, <antti.tuominen@hiit.fi> Kimmo Valtonen, <kimmo.valtonen@hiit.fi>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Antti Tuominen, Kimmo Valtonen
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.