cmake: install vclock.h Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: add tests The tests don't yet cover vclock_to_str & vclock_from_str. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: rely on __get_ent helper to check for zero node id Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: avoid an unnecessary memset when duplicating vclocks Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: improve the comments describing the public functions Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: slightly reorder prototypes in header file Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: add API functions to mapfile Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: rename from 'nvclock' to 'vclock' The 'n' in 'nvclock' stood for nomad. Since this code aims to be generic, let's drop the 'n' and call it vclock. Additionally, this change renames some of the types to be less cryptic. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: make the code build This is a matter of trivial include tweaks and dropping the convenience functions that relied on nomad_local_node_id. Consumers of vclock can define their own. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
vclock: import vector clock code from nomad This commit simply adds the two files. The next commit will actually tweak them and start building them. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
build: collapse debian build & test steps for cleaner output Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
build: replace gcc10 with gcc11, add gcc14/llvm15/llvm16/llvm19 on FreeBSD Also, collapse the build and test steps for more compact output. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
socksvc & scgisvc: make them async Instead of socksvc being a blocking function call, make it return a "handle" that can be used later to stop the thread and close sockets. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
socksvc: rename callback struct Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
sock: add connect_addr that takes the destination address directly Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
sock: add xsockaddr_{get,set}_inet_port helpers Getting and setting port numbers for AF_INET and AF_INET6 is anonying, so this code hides the details. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
sock: return the correct errno on connection error close(2) will clobber errno, so we need to stash it in a temporary variable. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
sock: avoid NULL pointer deref in xsockaddr_ntop If we get a NULL address, return NULL. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
io: document the return value of x{read,write}_partial better It wasn't clear what they return on success. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
sock: make xsockaddr_{cmp,copy} args const This makes the functions useful more often without ugly casts. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>