| Net-Connection-Simple documentation | Contained in the Net-Connection-Simple distribution. |
Net::Connection::Simple - Perl extension handling simple connection info within an application
use Net::Connection::Simple;
my $c = Net::Connection::Simple->new(seenFirst => (time()-1800), seenLast => time());
$c->protocols(Net::Protocol::Simple->new(protocol => tcp, layer => 4));
$c->protocols(Net::Protocol::Simple->new(protocol => 'ip', layer => 3));
$c->protocols(Net::Protocol::Simple->new(protocol => 'irc', layer => 7));
$c->protocols({
1 => Net::Protocol::Simple->new(protocol => 6, layer => 4),
2 => Net::Protocol::Simple->new(protocol => 'ip', layer => 3),
3 => Net::Protocol::Simple->new(protocol => 'irc', layer => 7),
});
$c->protocols([
Net::Protocol::Simple->new(protocol => 6, layer => 4),
Net::Protocol::Simple->new(protocol => 'ip', layer => 3),
Net::Protocol::Simple->new(protocol => 'irc', layer => 7),
]);
This module created to handle simple information about connections.
Constructs the Connection object
Accepts:
protocols => [ARRAY|HASHREF|Net::Protocol::Simple]
Returns a HASHREF of the protocols composing the connection [See Net::Protocol::Simple] keyed by layer
Accepts:
HASHREF:
{ $key => Net::Protocol::Simple(...),
$key++ => Net::Protocol::Simple(...),
$key++ => Net::Protocol::Simple(...),
}
ARRAY:
[
Net::Protocol::Simple->new(...),
Net::Protocol::Simple->new(...),
Net::Protocol::Simple->new(...),
]
Net::Protocol::Simple:
Net::Protocol::Simple->new(protocol => 6, layer => 4)
Net::Protocol::Simple, Time::Timestamp
Wes Young, <saxguard9-cpan@yahoo.com>
Copyright (C) 2006 by Wes Young
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.7 or, at your option, any later version of Perl 5 you may have available.
| Net-Connection-Simple documentation | Contained in the Net-Connection-Simple distribution. |
package Net::Connection::Simple;
use 5.008007; use strict; use warnings; our $VERSION = '1.02';
sub new { my ($class,%data) = @_; my $self = {}; bless($self,$class); $self->protocols($data{protocols}); return $self; }
sub protocols { my ($self,$v) = @_; if(defined($v)){ for(ref($v)){ if(/^HASH$/){ foreach my $x (keys %$v){ $self->protocols($v->{$x});} last; } if(/^ARRAY$/){ foreach my $x (@{$v}) { $self->protocols($x); } last; } if(/^Net::Protocol::Simple$/){ $self->{_protocols}->{$v->layer()} = $v; last; } die('Protocols requires a Net::Protocol::Simple Obj to be passed!'); } } return $self->{_protocols}; } 1; __END__