projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix period updates (I think)
[spider.git]
/
perl
/
DXDb.pm
diff --git
a/perl/DXDb.pm
b/perl/DXDb.pm
index 9251bdfdaa8ed084567b54522caba2b35dedba65..81d21928334ea81e15848eed639f58b3225cb062 100644
(file)
--- a/
perl/DXDb.pm
+++ b/
perl/DXDb.pm
@@
-49,12
+49,6
@@
$lastprocesstime = time;
$nextstream = 0;
%stream = ();
$nextstream = 0;
%stream = ();
-use vars qw($VERSION $BRANCH);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
-
# allocate a new stream for this request
sub newstream
{
# allocate a new stream for this request
sub newstream
{
@@
-156,6
+150,10
@@
sub getkey
my $key = uc shift;
my $value;
my $key = uc shift;
my $value;
+ # massage the key
+ $key =~ s/[\@\$\&\%\*]+//g;
+ $key =~ s/^[\.\/]+//g;
+
# make sure we are open
$self->open;
if ($self->{localcmd}) {
# make sure we are open
$self->open;
if ($self->{localcmd}) {
@@
-240,67
+238,58
@@
sub normal
#
sub process
{
#
sub process
{
- my ($dxchan, $line) = @_;
-
- # this is periodic processing
- if (!$dxchan || !$line) {
- if ($main::systime - $lastprocesstime >= 60) {
- if (%avail) {
- for (values %avail) {
- if ($main::systime - $_->{accesst} > $opentime) {
- $_->close;
- }
+ if ($main::systime - $lastprocesstime >= 60) {
+ if (%avail) {
+ for (values %avail) {
+ if ($main::systime - $_->{accesst} > $opentime) {
+ $_->close;
}
}
}
}
- $lastprocesstime = $main::systime;
}
}
-
return
;
+
$lastprocesstime = $main::systime
;
}
}
+}
- my @f = split /\^/, $line;
- my ($pcno) = $f[0] =~ /^PC(\d\d)/; # just get the number
+sub handle_37
+{
- # route out ones that are not for us
- if ($f[1] eq $main::mycall) {
- ;
- } else {
- $dxchan->route($f[1], $line);
- return;
- }
+}
- SWITCH: {
- if ($pcno == 37) { # probably obsolete
- last SWITCH;
- }
+sub handle_44
+{
+ my $self = shift;
- if ($pcno == 44) { # incoming DB Request
- my @in = DXCommandmode::run_cmd($dxchan, "dbshow $f[4] $f[5]");
- sendremote($dxchan, $f[2], $f[3], @in);
- last SWITCH;
- }
+ # incoming DB Request
+ my @in = DXCommandmode::run_cmd($self, "dbshow $_[4] $_[5]");
+ sendremote($self, $_[2], $_[3], @in);
+}
- if ($pcno == 45) { # incoming DB Information
- my $n = getstream($f[3]);
- if ($n) {
- my $mchan = DXChannel->get($n->{call});
- $mchan->send($f[2] . ":$f[4]") if $mchan;
- }
- last SWITCH;
- }
+sub handle_45
+{
+ my $self = shift;
- if ($pcno == 46) { # incoming DB Complete
- delstream($f[3]);
- last SWITCH;
- }
+ # incoming DB Information
+ my $n = getstream($_[3]);
+ if ($n) {
+ my $mchan = DXChannel::get($n->{call});
+ $mchan->send($_[2] . ":$_[4]") if $mchan;
+ }
+}
- if ($pcno == 47) { # incoming DB Update request
- last SWITCH;
- }
+sub handle_46
+{
+ my $self = shift;
- if ($pcno == 48) { # incoming DB Update request
- last SWITCH;
- }
- }
+ # incoming DB Complete
+ delstream($_[3]);
+}
+
+sub handle_47
+{
+}
+
+sub handle_48
+{
}
# send back a trache of data to the remote
}
# send back a trache of data to the remote