move .pm to separate directory

Change-Id: I8811005463a50e429ad94fb6d28f41b936d85860
changes/34/5834/1
Richard Fuchs 10 years ago
parent 3306edf339
commit e608cb00be

@ -0,0 +1,58 @@
package Rtpengine;
use strict;
use warnings;
use Socket;
use Socket6;
use IO::Socket;
use IO::Socket::IP;
use Bencode;
use Data::Dumper;
sub new {
my ($class, $addr, $port) = @_;
my $self = {};
bless $self, $class;
if (ref($addr)) {
$self->{socket} = $addr;
}
else {
$self->{socket} = IO::Socket::IP->new(Type => &Socket::SOCK_DGRAM, Proto => 'udp',
PeerHost => $addr, PeerPort => $port);
}
return $self;
}
sub req {
my ($self, $packet) = @_;
my $cookie = rand() . ' ';
my $p = $cookie . Bencode::bencode($packet);
$self->{socket}->send($p, 0) or die $!;
my $ret;
$self->{socket}->recv($ret, 65535) or die $!;
$ret =~ s/^\Q$cookie\E//s or die $ret;
my $resp = Bencode::bdecode($ret, 1);
$resp->{result} or die Dumper $resp;
if ($resp->{result} eq 'error') {
die "Error reason: \"$resp->{'error-reason'}\"";
}
return $resp;
}
sub offer {
my ($self, $packet) = @_;
return $self->req( { %$packet, command => 'offer' } );
}
sub answer {
my ($self, $packet) = @_;
return $self->req( { %$packet, command => 'answer' } );
}
1;

@ -1,4 +1,4 @@
package Rtpengine;
package Rtpengine::Test;
use strict;
use warnings;
@ -16,54 +16,7 @@ use SDP;
use ICE;
use DTLS;
use RTP;
sub new {
my ($class, $addr, $port) = @_;
my $self = {};
bless $self, $class;
if (ref($addr)) {
$self->{socket} = $addr;
}
else {
$self->{socket} = IO::Socket::IP->new(Type => &Socket::SOCK_DGRAM, Proto => 'udp',
PeerHost => $addr, PeerPort => $port);
}
return $self;
}
sub req {
my ($self, $packet) = @_;
my $cookie = rand() . ' ';
my $p = $cookie . Bencode::bencode($packet);
$self->{socket}->send($p, 0) or die $!;
my $ret;
$self->{socket}->recv($ret, 65535) or die $!;
$ret =~ s/^\Q$cookie\E//s or die $ret;
my $resp = Bencode::bdecode($ret, 1);
$resp->{result} or die Dumper $resp;
if ($resp->{result} eq 'error') {
die "Error reason: \"$resp->{'error-reason'}\"";
}
return $resp;
}
sub offer {
my ($self, $packet) = @_;
return $self->req( { %$packet, command => 'offer' } );
}
sub answer {
my ($self, $packet) = @_;
return $self->req( { %$packet, command => 'answer' } );
}
package Rtpengine::Test;
use Rtpengine;
sub new {
my ($class) = @_;

@ -2,7 +2,7 @@
use strict;
use warnings;
use Rtpengine;
use Rtpengine::Test;
my $r = Rtpengine::Test->new();
my $a = $r->client();

@ -2,7 +2,7 @@
use strict;
use warnings;
use Rtpengine;
use Rtpengine::Test;
my $r = Rtpengine::Test->new();
my $a = $r->client(dtls => 1);

@ -2,7 +2,7 @@
use strict;
use warnings;
use Rtpengine;
use Rtpengine::Test;
my $r = Rtpengine::Test->new();
my $a = $r->client(ice => 1);

Loading…
Cancel
Save