The main module, housing startup logic and the main event loop.
No module (save kameloso.entrypoint) should be importing this.
Checks for any initialisation messages that may have been sent by plugins during their initialisation.
Echos the quit message to the local terminal, to fake it being sent verbosely to the server. It is sent, but later, bypassing the message Fiber which would otherwise do the echoing.
Logs an exception thrown by a plugin action.
A Generator Fiber function that checks for concurrency messages and performs action based on what was received.
Sets up the program (terminal) environment.
Prints a pretty start screen.
Print what we know about an event, from an error perspective.
Prints a summary of the connection(s) made and events parsed this execution.
Processes the awaiting delegates of an IRCPlugin.
Processes a line read from the server, constructing an IRCEvent and dispatches it to all plugins.
Handles the queue of ready-to-replay objects, re-postprocessing events from the current (main loop) context, outside of any plugin.
Propagates a single update to the the kameloso.kameloso.Kameloso.previousWhoisTimestamps associative array to all plugins.
Propagates the kameloso.kameloso.Kameloso.previousWhoisTimestamps associative array to all plugins.
Resets signal handlers to the system default.
Resolves resource directory private key/certificate file paths semi-verbosely.
Entry point of the program.
Sends strings to the server from the message buffers.
Sets default directories in the passed CoreSettings.
Registers some process signals to redirect to our own signalHandler, so we can (for instance) catch Ctrl+C and gracefully shut down.
Called when a signal is raised, usually SIGINT.
Main connection logic.
Syncs currently joined channels with guestChannels, adding entries in the latter where the former is missing.
Attempt handling getopt, wrapped in try-catch blocks.
Verifies some settings and returns whether the program should continue executing (or whether there were errors such that we should exit).
Fine-tune the garbage collector.
Aggregate of state values used in an execution of the program.
The value of the signal, when the process was sent one that meant it should abort. This determines the shell exit code to return.