code: func (s *ChainService) DisconnectNodeByAddr(addr string) error {
  	replyChan := make(chan error)
  
  	select {
  	case s.query <- disconnectNodeMsg{
  		cmp:   func(sp *ServerPeer) bool { return sp.Addr() == addr },
  		reply: replyChan,
  	}:
  		return <-replyChan
  	case <-s.quit:
  		return nil
  	}
  }
docs: // DisconnectNodeByAddr disconnects a peer by target address. Both outbound and
  // inbound nodes will be searched for the target node. An error message will
  // be returned if the peer was not found.