Hi On Thu, 11 Oct 2012, John MacAuley wrote:
Further thinking on this topic has me considering adding a simple "hello" or "ping" type message to Discovery that could be used to determine NSA availability without the need to retrieve the interface versions document. We could also add simple information to the hello such as NSA uptime or a last restart token to permit a peer to determine if perhaps an audit should be performed. Pretty standard capabilities in production systems.
Sure, I've seen similar stuff in several systems. What the heck is a restart token? I'd suggest the following: Current time in UTC format (time offsets in protocols is bad idea). - Makes it easy to detect clock skew (which can be a major pain). Time since started / uptime - In seconds, to make it independant of clock skew Time since last topology update (Jeroens proposal) - In seconds, to make it independant of clock skew Software and version (e.g. OpenNSA-git20121012) - Handy for figuring out if certain behaviour is due an odd version, etc. There could probably a couple of more things which could be handy. I'd restrict to things which can be found internally in process state or with really simple syscalls (btw. current time is usually not a syscall these days). So no going out to the hardware backend and seeing if it is alive or anything. Could potentially have something like "time since last successful backend interaction", which could be kept track off on the side. Please tell me this will be a perfectly normal RPC call without callback stuff. I think we should wait just a bit with adding this (now is better than never, but never is often better that right now). Best regards, Henrik Henrik Thostrup Jensen <htj at nordu.net> Software Developer, NORDUnet