- Added imports
- Added a receive queue with a corresponding mutex
- Added a field to hold the associated `Client` object
Send
- Added imports
- Added a send queue with a corresponding mutex
- Added a field to hold the associated `Client` object
- Fixed bug within `channelMessage(string,string[])` which would leave the channel provided instead of sending the message provided to the the channel provided as it called `leaveChannel(channel[0])` instead of `channelMessage(string, string)`
- Added a field of type `Event` to hold a libsnooze object representing when a new message has been received and is to be processed
Sender
- Added a field of type `Event` to hold a libsnooze object representing when a new message is to be sent and is to be processed
- Disagnosed hot-loop causing high load average (and wasting run queue time with meaningless work)
- Offending functions are `sendHandlerFunc()` and `recvHandlerFunc()` and NOT eventy (as latest version doesn't do that
- command(Message) - Let the user isssue a generic command
- joinChannel(string) - join the given channel
- When a numeric reply is received a Reply struct is now created containing a boolean indicating if there is an error, the ReplyType (as per the RFC) and the "params" (as a string), this is done via overriding the `onCommandReply(Reply)` method
- Added onGenericCommand(Message) - for when it doesn't have a special handler and is not a numeric reply (command response)
- Added special handler for private messages and channel messages (not used yet)
- WIP: PrivMesg handling
New types:
- Reply - response struct type
- ReplyType - the numeric response number
- Renamed Message fields
- Moved encode() and decode() into Message as static methods
- Fully integrated eventy
- PongEvent and IRCEvent along with respective GenericSignal and PingSignal handlers added
- Moved parsing of messages into Message class
Debugging
- Added dlog which always logs (for now, we should add a debug clause that enables it)