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.
Translates the ListenAttempt.State received from a Generator into a Next, while also providing warnings and error messages.
Logs an exception thrown by a plugin action.
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.
Iterates through a plugin's array of DeferredActions. Depending on what their fiber member (which is in actually a CarryingFiber) can be cast to, it prepares a payload, assigns it to the CarryingFiber, and calls it.
Processes a line read from the server, constructing an IRCEvent and dispatches it to all plugins.
Processes messages and performs action based on them.
Takes a queue of pending Replay objects and issues WHOIS queries for each one, unless it has already been done recently (within Timeout.whoisRetry seconds).
Handles the queue of ready-to-replay objects, re-postprocessing events from the current (main loop) context, outside of any plugin.
Processes the queued ScheduledDelegates of an IRCPlugin.
Processes the queued ScheduledFibers of an IRCPlugin.
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.
Tries to connect to the IPs in Kameloso.conn.ips by leveraging connectFiber, reacting on the ConnectionAttempts it yields to provide feedback to the user.
Attempt handling getopt, wrapped in try-catch blocks.
Tries to resolve the address in Kameloso.parser.server to IPs, by leveraging resolveFiber, reacting on the ResolveAttempts it yields to provide feedback to the user.
Verifies some settings and returns whether the program should continue executing (or whether there were errors such that we should exit).
A value line for rt_options to fine-tune the garbage collector.
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.
The main module, housing startup logic and the main event loop.
No module (save kameloso.entrypoint) should be importing this.