+
+ # unbusy and stop and outgoing mail
+ my $mref = DXMsg::get_busy($self->call);
+ $mref->stop_msg($self) if $mref;
+
+ # broadcast to all other nodes that all the nodes connected to via me are gone
+ my @gonenodes = map { $_->dxchan == $self ? $_ : () } DXNode::get_all();
+ my $node;
+
+ foreach $node (@gonenodes) {
+ next if $node->call eq $self->call;
+ broadcast_ak1a(pc21($node->call, 'Gone'), $self); # done like this 'cos DXNodes don't have a pc21 method
+ $node->del();
+ }
+
+ # now broadcast to all other ak1a nodes that I have gone
+ broadcast_ak1a(pc21($self->call, 'Gone.'), $self);
+ Log('DXProt', $self->call . " Disconnected");