Software /
code /
prosody
File
spec/util_time_spec.lua @ 12795:87424cbedc55
util.hashring: Support associating arbitrary data with nodes
In this API, a 'node' is always a simple text string. Sometimes the caller may
have a more complex structure representing a node, but the hash ring is really
only concerned with the node's name.
This API change allows :add_nodes() to take a table of `node_name = value`
pairs, as well as the simple array of node names previously accepted.
The 'value' of the selected node is returned as a new second result from
:get_node().
If no value is passed when a node is added, it defaults to `true` (as before,
but this was never previously exposed).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 02 Dec 2022 20:32:36 +0000 |
parent | 9193:aba99b6539f5 |
line wrap: on
line source
describe("util.time", function () local time; setup(function () time = require "util.time"; end); describe("now()", function () it("exists", function () assert.is_function(time.now); end); it("returns a number", function () assert.is_number(time.now()); end); end); describe("monotonic()", function () it("exists", function () assert.is_function(time.monotonic); end); it("returns a number", function () assert.is_number(time.monotonic()); end); it("time goes in one direction", function () local a = time.monotonic(); local b = time.monotonic(); assert.truthy(a <= b); end); end); end);