view release on metacpan or search on metacpan
examples/new_cops_test.pl view on Meta::CPAN
my $cmts_ip = $ARGV[0];
my $action=$ARGV[1];
my $id = $ARGV[2];
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => $cmts_ip,
ServerPort => '3918',
Timeout => 2,
DEBUG => 10,
DataHandler => \&display_data,
ListenServer => 0
]
);
# We send a connect message to the COPS server
if ( $cops_client->connect() )
{
examples/profiles/BestEffortService.pl view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
use COPS::Client;
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => '192.168.1.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
if ( $cops_client->connect() )
{
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.26.65.19");
$cops_client->gate_specification_add(
examples/profiles/DOCSISServiceClassName.pl view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
use COPS::Client;
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => '192.168.1.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
if ( $cops_client->connect() )
{
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.26.65.19");
$cops_client->gate_specification_add(
examples/profiles/DownStream.pl view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
use COPS::Client;
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => '192.168.1.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
if ( $cops_client->connect() )
{
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.26.65.19");
$cops_client->gate_specification_add(
examples/profiles/FlowSpec.pl view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
use COPS::Client;
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => '192.168.1.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
if ( $cops_client->connect() )
{
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.26.65.19");
$cops_client->gate_specification_add(
examples/profiles/NonRealTimePollingService.pl view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
use COPS::Client;
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => '192.168.1.1',
ServerPort => '3918',
Timeout => 2,
DEBUG => 5,
DataHandler => \&display_data
]
);
if ( $cops_client->connect() )
{
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.26.65.19");
examples/profiles/RealTimePollingService.pl view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
use COPS::Client;
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => '192.168.1.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
if ( $cops_client->connect() )
{
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.26.65.19");
$cops_client->gate_specification_add(
examples/profiles/UnsolicitedGrantService.pl view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
use COPS::Client;
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => '192.168.1.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
if ( $cops_client->connect() )
{
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.26.65.19");
$cops_client->gate_specification_add(
examples/profiles/UnsolicitedGrantServiceWithActivityDetection.pl view on Meta::CPAN
#!/usr/local/bin/perl
use strict;
use COPS::Client;
my $cops_client = new COPS::Client (
[
VendorID => 'COPS Client',
ServerIP => '192.168.1.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
if ( $cops_client->connect() )
{
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.26.65.19");
$cops_client->gate_specification_add(
lib/COPS/Client.pm view on Meta::CPAN
their network. This does not maintain a connection to the CMTS but issue the
configured command, get the response and then close the TCP connection. I am
working on a stateful Client however this is not yet available.
As basic initial use of the module is as follows
my $cops_client = new COPS::Client (
[
ServerIP => '192.168.0.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
$cops_client->set_command("set");
$cops_client->subscriber_set("ipv4","172.20.1.1");
$cops_client->gate_specification_add(
[
Direction => 'Downstream',
lib/COPS/Client.pm view on Meta::CPAN
The parameters are
ServerIP - The IP address of the CMTS to connect to
ServerPort - The port that the Packet Cable service is running
on. There is no default value however most server
implementations use port 3918, so this should be
set to that
Timeout - This is a timeout parameter for the connection to the
CMTS. It has a default of 5 so can be omitted.
DataHandler - This should be set to point to a local function to
handle any data returned by a COPS message sent.
The function will accept 2 variables as input the
first is the module point, the second is a point to
a hash containing any data returned.
An example of use would be.
my $cops_client = new COPS::Client (
[
ServerIP => '192.168.0.1',
ServerPort => '3918',
Timeout => 2,
DataHandler => \&display_data
]
);
sub display_data
{
my ( $self ) = shift;
my ( $data ) = shift;
print "Report Datagram sent.\n\n";
foreach my $name ( sort { $a cmp $b } keys %{$data} )
lib/COPS/Client.pm view on Meta::CPAN
if ( !$self->{_GLOBAL}{'ServerIP'} )
{ die "ServerIP Required"; }
if ( !$self->{_GLOBAL}{'ServerPort'} )
{ die "ServerPort Required"; }
if ( !$self->{_GLOBAL}{'KeepAlive'} )
{ $self->{_GLOBAL}{'KeepAlive'}=60; }
if ( !$self->{_GLOBAL}{'Timeout'} )
{ $self->{_GLOBAL}{'Timeout'}=5; }
if ( !$self->{_GLOBAL}{'ListenIP'} )
{ $self->{_GLOBAL}{'ListenIP'}=""; }
if ( !$self->{_GLOBAL}{'ListenPort'} )
{ $self->{_GLOBAL}{'ListenPort'}=""; }
if ( !$self->{_GLOBAL}{'ListenServer'} )
{ $self->{_GLOBAL}{'ListenServer'}=0; }
lib/COPS/Client.pm view on Meta::CPAN
sub connect
{
my ( $self ) = shift;
my $lsn = IO::Socket::INET->new
(
PeerAddr => $self->{_GLOBAL}{'ServerIP'},
PeerPort => $self->{_GLOBAL}{'ServerPort'},
ReuseAddr => 1,
Proto => 'tcp',
Timeout => $self->{_GLOBAL}{'Timeout'}
);
if (!$lsn)
{
$self->{_GLOBAL}{'STATUS'}="Failed to bind to address '".$self->{_GLOBAL}{'ServerIP'}."' ";;
$self->{_GLOBAL}{'STATUS'}.="and port '".$self->{_GLOBAL}{'ServerPort'};
$self->{_GLOBAL}{'ERROR'}=$!;
return 0;
}
lib/COPS/Client.pm view on Meta::CPAN
{}
elsif (defined $child)
{
my $lsn2 = IO::Socket::INET->new
(
Listen => 1024,
LocalAddr => $self->{_GLOBAL}{'ListenIP'},
LocalPort => $self->{_GLOBAL}{'ListenPort'},
ReuseAddr => 1,
Proto => 'tcp',
Timeout => $self->{_GLOBAL}{'Timeout'}
);
if ( !$lsn2)
{
$self->{_GLOBAL}{'STATUS'}="Failed to bind to address '".$self->{_GLOBAL}{'ListenIP'}."' ";
$self->{_GLOBAL}{'STATUS'}.="and port '".$self->{_GLOBAL}{'ListenPort'};
$self->{_GLOBAL}{'ERROR'}=$!;
exit(0);
}
$self->{_GLOBAL}{'Listen_LocalIP'}=$lsn2->sockhost();