feat(daemon): say what to do next on startup, and prove multiple clients agree
Starting the daemon printed 'ready' and nothing else, so the token and the next step were both somewhere else. It now prints what other commands can do from here, and when --bind is given, the token itself with the two config commands a remote client needs. All on stderr, so stdout stays empty and daemon still composes in a pipeline. Adds the guarantee daemon mode is for as a test: eight clients connected at once are each answered correctly, none has its replies crossed with another's, and the daemon still counts all eight. Plus 250 connect-and-drop cycles, well past the connection cap, to catch a per-connection resource that is not released — the shape a daemon that works for a while and then refuses everybody would take. A connection the daemon drops before it can be served now logs why at warning level. A client only ever sees 'the connection closed', so that line is the only account of the reason.
This commit is contained in:
@@ -66,8 +66,8 @@ const FEATURES = [
|
||||
cmd: 'soulseek-rs daemon',
|
||||
body: (
|
||||
<>
|
||||
Hold one session and let every other command borrow it — the network allows
|
||||
one login per account, so this is the neighbourly way to run several at once. It
|
||||
Hold one session and let every other command borrow it. The network allows one
|
||||
login per account, so this is the neighbourly way to run several at once. It
|
||||
speaks JSON-RPC, so other tools can drive it too.
|
||||
</>
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user