module SequencesProtocol
state do
# initializes the counter for an id to a certain number. If the id
exists already, ignore request
# @param [String] ident the unique identifier of a row in a
collection of counts
# @param [Number] the starting count associated with the ident
interface input, :init_ident, [:ident]=>[:seed]
# increment the counter for an id by a number. Id must
have a current count already.
# @param [String] ident the unique identifier of a row in a
collection of counts
# @param [Number] the increment step size
interface input, :increment_count, [:ident]=>[:step]
# reset the counter for an id. In any implementation, the
row identified by ident should either be set to
# its initial value again, or no longer be in the collection of
counters.
# @param [String] ident the unique identifier of a row in a
collection of counts
interface input, :clear_ident, [:ident]
# continuously output the count of all existent id's.
# @param [String] ident the unique identifier of a row in a
collection of counts
# @param [Number] the count associated with the ident
interface output, :return_count, [:ident]=>[:tally]
end
end