 # It uses Dynamo as the metadata store and it uses S3 for snapshot storage as
 # Dynamo objects are limited to 64KB in size.
 #
-# In order to use this backend you must require the 'aws2js' and the 'dynamo'
-# npm packages.
+# In order to use this backend you must require the 'aws2js', 'async' and the
+# 'dynamo' npm packages.
 #
 # Example usage:
 #

  # Public: Write new snapshot data to the database.
  #
  # docName - Name of document.
  # docData - Document snapshot data. {snapshot:s, type:t, meta}
  # dbMeta - ?
  #
  # The callback just takes an optional error.
  #
  # This function has UNDEFINED BEHAVIOUR if you call append before calling create().
  @writeSnapshot = (docName, docData, dbMeta, callback) ->
    async.auto(
      write_metadata: (cb) ->

        callback?()
    )

  # Public: Get all operations between start and end noninclusive.
  #
  # docName - Name of the document
  # start   - The noninclusive starting version, must be less than end.
  # end     - The noninclusive ending version, if null assumed to be maximum
  #           value.
  #
  # Calls callback(error) on failure.
  # Calls callback(null, [{ op:string, meta:string }]) on success.
  @getOps = (docName, start, end, callback) ->
    end = 2147483648 unless end?
    return callback("Start must be less than end", []) if start >= end
