Spread::Message is a Perl module created to provide messaging using the Spread toolkit.
SYNOPSIS
use Spread::Message;
my $mbox = Message->new(
spread_name => '4803@host',
name => "down$$",
group => ['devices-down'],
#debug => 1,
member_sub => &process_control,
message_sub => &process_data,
timeout_sub => &heartbeat,
);
sub process_control
{
my $mbox = shift;
my $loop = shift;
# Process membership messages here. See examples
}
sub process_data
{
my $mbox = shift;
my $loop = shift;
# Process the data here. See examples
}
sub heartbeat
{
my $mbox = shift;
my $loop = shift;
# Process any timeouts here. See examples
}
while(1)
{
# Process different data as required
$mbox->rx(10,$loop);
$loop++;
# Extra processing of side effects created by the callbacks
}
$mbox->disconnect();
Other possibilites are:
# Connection
$mbox->connect;
$mbox->disconnect;
# Config
$mbox->configure(%config);
$spread_daemon = $mbox->spread_name;
$mbox->spread_name('3480@1.1.1.1');
$seed_name = $mbox->name;
$mbox->name('test');
$rv = $mbox->debug();
$mbox->debug(1);
# tx/rx messages
$mbox->send(@grps,$msg);
$mbox->sends(@grps,%perlhash);
$hashref = $mbox->decode;
$msg_size = $mbox->poll;
$mbox->rx($timeout,@args);
$regular_msg = $mbox->get;
$msg = $mbox->getmsg($timeout);
# Object/Message details
$spread = $mbox->mbox;
@grps = $mbox->grps;
$sent_by = $mbox->sender;
$service_type = $mbox->type;
$message_type = $mbox->mess_type;
$same_endian = $mbox->endian;
$last_message = $mbox->msg;
$last_hashref = $mbox->command;
$is_new_message = $mbox->new_msg;
$time_last_received = $mbox->tm;
$timed_out = $mbox->timeout;
$mysperrorno = $mbox->error;
$whoami = $mbox->me;
# Test message
$mbox->control_msg;
$mbox->aimed_at_me;
$mbox->Is_unreliable_mess;
$mbox->Is_reliable_mess;
$mbox->Is_fifo_mess;
$mbox->Is_causal_mess;
$mbox->Is_agreed_mess;
$mbox->Is_safe_mess;
$mbox->Is_regular_mess;
$mbox->Is_self_discard;
$mbox->Is_reg_memb_mess;
$mbox->Is_transition_mess;
$mbox->Is_caused_join_mess;
$mbox->Is_caused_leave_mess;
$mbox->Is_caused_disconnect_mess;
$mbox->Is_caused_network_mess;
$mbox->Is_membership_mess;
$mbox->Is_reject_mess;
$mbox->Is_self_leave;
# Supplied Callbacks
$mbox->_member_sub
$mbox->_message_sub
$mbox->_error_sub
$mbox->_timeout_sub
$mbox->handle_commands_aimed_at_me
Requirements:
· Perl
Product's homepage
Requirements:
· Perl