code: function Swarm (infoHash, server) {
    var self = this
    self.infoHash = infoHash
    self.complete = 0
    self.incomplete = 0
  
    self.peers = new LRU({
      max: server.peersCacheLength || 1000,
      maxAge: server.peersCacheTtl || 20 * 60 * 1000 // 20 minutes
    })
  
    // When a peer is evicted from the LRU store, send a synthetic 'stopped' event
    // so the stats get updated correctly.
    self.peers.on('evict', function (data) {
      var peer = data.value
      var params = {
        type: peer.type,
        event: 'stopped',
        numwant: 0,
        peer_id: peer.peerId
      }
      self._onAnnounceStopped(params, peer, peer.peerId)
      peer.socket = null
    })
  }
docs: Regard this as the default implementation of an interface that you need to support when overriding Server.createSwarm() and Server.getSwarm()