code: function releaseEventLoop () {
    if (_eventLoopReleased) return
    if (as.get_cluster_count() > 0) {
      setTimeout(releaseEventLoop, 5)
    } else {
      as.release_as_event_loop()
      _eventLoopReleased = true
    }
  }
docs: @memberof! module:aerospike
  
  @summary Release event loop resources held by the module, which could keep
  the Node.js event loop from shutting down properly.
  
  @description This method releases some event loop resources held by the
  Aerospike module and the Aerospike C client library, such as libuv handles
  and timers. If not released, these handles will prevent the Node.js event
  loop from shutting down, i.e. it will keep your application from
  terminating.
  
  The Aerospike module keeps an internal counter of active {@link Client}
  instances, i.e. instances which have not been <code>close()</code>'d yet. If
  a client is closed and the counter reaches zero, this method will be called
  automatically, unless {@link Client#close} is called with
  <code>releaseEventLoop</code> set to <code>false</code>. (The default is
  <code>true</code>.)
  
  If an application needs to create multiple client instance, i.e. to connect
  to multiple, different clusters, the event loop resources will be managed
  automatically, as long as at least once client instance is active at any
  given time, until the application terminates.
  
  If, however, there could be one or more intermittent time periods, during
  which no client is active (i.e. the internal client counter reaches zero),
  then the clients need to be closed with <code>releaseEventLoop</code> set
  to <code>false</code> and the event loop needs to be released explicitly by
  calling <code>releaseEventLoop()</code>.