Client and server start up
Y::Notifier - Specification - Client and server start up
A client, on startup, tries to contact a local server
If that fails it will start a local server
The server, on startup, locks a file to ensure it is alone
Then the server sets up its listening sockets etc.
The server then multicasts a short "I'm here" message to other servers, immediately upon startup and once a minute thereafter
Other servers recieving this message will attempt to connect to the new server
The server will accept these connection requests, contingent upon certain security checks
The new server will also hear other server's "I'm here" messages and attempt to connect to them
In the case of crossed lines, a sort on IP address determines which servers connection request succeeds
Y::Notifier - Specification - Client and server start up