docs: public void update(PeerState state, long uploaded, long downloaded,
                       long left) {
      if (PeerState.STARTED.equals(state) && left == 0) {
        state = PeerState.COMPLETED;
      }
  
      if (!state.equals(this.state)) {
        logger.trace("Peer {} {} download of {}.",
                new Object[]{
                        this,
                        state.name().toLowerCase(),
                        this.torrent,
                });
      }
  
      this.state = state;
      this.lastAnnounce = myTimeService.now();
      this.uploaded = uploaded;
      this.downloaded = downloaded;
      this.left = left;
    }