- Removed unused import
- Added comment for future work
- Fixed typo
Receiver
- Added commented out code for future work
Sender
- Added commented out code for future work
- On call to `rq(byte[])` by the `Client` thread wake up the `Receiver` thread
- Added a TODO about the first call to `notifyAll()`
- Added a `wait()` call
- Removed `yield()` calls
Sender
- On call to `sq(byte[])` by the `Client` thread wake up the `Sender` thread
- Added a TODO about the first call to `notifyAll()`
- Added a `wait()` call
- Removed `yield()` calls
Client
- Ensure we wake up the `Receiver` and `Sender` threads such that they don't hang on their calls to `wait()`
- Added a TODO comment
- Moved `IRCEventType`, `IRCEvent` and `PongEvent` to a new module `events`
Client
- Removed old `recvQueue`, `sendQueue`, their respective locks and threads
- Removed any initializations of the aforementioned
- Added calls to start the `ReceiverThread` and `SenderThread` on call to `connect()`
- Updated `disconnect()`, `sendMessage(string)` and `receiveQ(ubyte[])` to use the new `ReceiverThread` and `SenderThread`
Receiver
- Added missing import
- Fixed conflicting symbol name `Event` arising from the use of `Eventy` and `libsnooze`
- Initialize the libsnooze event
- Initialize the queue mutex
- Set the thread's worker function
Sender
- Fixed conflicting symbol name `Event` arising from the use of `Eventy` and `libsnooze`
- Initialize the libsnooze event
- Initialize the queue mutex
- Set the thread's worker function
Protocol
- Moved module `message` to new package `protocol`
- Moved module `constants` to new package `protocol`
- Added missing `dur` import
Sender
- Added missing `dur` import
Exceptions
- Moved exceptions to its own module
Core/Client
- Renamed to `client`
Package
- Updated import for `client` module
- Added import of `BirchwoodException`
- Added import of `ConnectionInfo`
Conninfo
- Moved `ConnectionInfo` to its own module
- 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
- 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