use DXChannel;
use DXUser;
use DXM;
-use DXCluster;
use DXProtVars;
use DXProtout;
use DXDebug;
$self->{'read'} = shift;
$self->{rrreq} = shift;
$self->{gotit} = [];
- $self->{lastt} = $main::systime;
+# $self->{lastt} = $main::systime;
$self->{lines} = [];
$self->{private} = 1 if $bulltopriv && DXUser->get_current($self->{to});
my $dxchan;
if ($ref->{private}) {
next if $ref->{'read'}; # if it is read, it is stuck here
- $clref = DXCluster->get_exact($ref->{to});
- unless ($clref) { # otherwise look for a homenode
- my $uref = DXUser->get_current($ref->{to});
- my $hnode = $uref->homenode if $uref;
- $clref = DXCluster->get_exact($hnode) if $hnode;
- }
- if ($clref && !grep { $clref->dxchan == $_ } DXCommandmode::get_all()) {
- next if $clref->call eq $main::mycall; # i.e. it lives here
- $dxchan = $clref->dxchan;
- $ref->start_msg($dxchan) if $dxchan && !get_busy($dxchan->call) && $dxchan->state eq 'normal';
+ $clref = Route::get($ref->{to});
+# unless ($clref) { # otherwise look for a homenode
+# my $uref = DXUser->get_current($ref->{to});
+# my $hnode = $uref->homenode if $uref;
+# $clref = Route::Node::get($hnode) if $hnode;
+# }
+ if ($clref) {
+ my $dxc = $clref->dxchan;
+ if ($dxc) {
+ if (grep {my $dxc=$clref->dxchan; $dxc && $dxc == $_ } DXCommandmode::get_all()) {
+ next if $clref->call eq $main::mycall; # i.e. it lives here
+ $dxchan = $clref->dxchan;
+ $ref->start_msg($dxchan) if $dxchan && !get_busy($dxchan->call) && $dxchan->state eq 'normal';
+ }
+ } else {
+ dbg('route', "Route: No dxchan for $ref->{to} " . ref($clref) );
+ }
}
}