anchor.diff:    }
   
     maintenance(node) {}
  -  startSearchPeer(KNode node, KId infoHash) {
  -    
  -  }
  -  stopSearchPeer(KNode node, KId infoHash) {
  -    
  -  }
  +  startSearchPeer(KNode node, KId infoHash) {}
  +  stopSearchPeer(KNode node, KId infoHash) {}
     search(KNode node) {
       _findedNode.clearAll();
       node.rootingtable.findNode(_infoHashId).then((List<KPeerInfo> infos) {
  
positive.code: import '../knode.dart';
  import 'knodeai.dart';
  
  class KNodeAIAnnounce {
    bool _isStart = false;
    ShuffleLinkedList<KPeerInfo> _findedNode = new ShuffleLinkedList(50);
    List<KAnnounceInfo> announcedNode = [];
  
negative.code:   bool get isStart => _isStart;
    int lastUpdateTime = 0;
  
    KNodeAIAnnounceTask(KId infoHashId, {KId tokenFilter: null}) {
      this._infoHashId = infoHashId;
      this._tokenFilter = new KId(new List.filled(20, 0xff));
    }
  