1
0
mirror of https://github.com/deavmi/birchwood synced 2024-09-20 18:43:26 +02:00
Commit Graph

138 Commits

Author SHA1 Message Date
fc9301f632 Message
- Implemented `splitting(string)` which returns a `string[]` of split parameters according to the rfc1459's ENBF
2023-03-17 08:35:23 +02:00
75f3f7b867 Messages
- Slightly improved trailer detection
- Added some TODOs and notes

Client

- Log the key-value parameters and trailer
2023-03-16 18:38:06 +02:00
f930618162 Merge branch 'master' into params_parsing 2023-03-16 18:21:01 +02:00
dafc39274d Constants
- Don't use octal
2023-03-16 18:20:14 +02:00
c0a249a31c Constants
- Don't use octals
2023-03-16 18:19:01 +02:00
f120a566a7 Client
- Added TODO regarding what needs to be done to update the `"PRIVMSG"` sub-handler
2023-03-16 13:58:20 +02:00
8a808cf9f2 Client
- Test out new `getKVPairs()` and `getTrailing()`
2023-03-16 13:53:14 +02:00
0224f4554b Messages
- Added `getTrailing()` which returns the trailing text
- Added `getKVPairs()` which returns the key-value pairs
2023-03-16 13:52:29 +02:00
b34eaf0e4e Messages
- Added work-in-progress `parameterParse()` which attempts to parse parameters and trailing text (if any of both)
- Added `ppTrailing` for any possible trailing text
- Added `ppKVPairs` for any potential key-value pairs
- Call `parameterParse()` on initialization of a new `Message` object
2023-03-16 13:45:56 +02:00
c1bf76df19
Updated IRC compatibility information 2023-03-16 13:03:16 +02:00
49500580c6
Merge pull request #17 from deavmi/rfc2812
Rfc2812
2023-03-16 12:58:08 +02:00
2c25a20ffb Merge branch 'master' into rfc2812 2023-03-16 12:44:34 +02:00
d10ff8e7a2
Merge pull request #14 from deavmi/ping_pong_fix
Fix PING detection
2023-03-16 12:41:45 +02:00
f3b5246a1c Merge branch 'master' into ping_pong_fix 2023-03-16 08:41:13 +02:00
9ff29d177d Merge branch 'master' into rfc2812 2023-03-16 08:39:41 +02:00
9cc40938ee Receiver
- Added documentation for `rq`

Sender

- Added documentation for `sq`
2023-03-16 08:38:47 +02:00
d2acd08a98 Client
- Removed commented-out code
2023-03-16 08:37:04 +02:00
a0acaccdec Merge branch 'master' into rfc2812 2023-03-16 08:35:12 +02:00
93fecfaad5 Client
- Removed now-completed TODO
- Implemented `joinChannel(string[])`

Unit tests

- Use BNET test server
- Added test calls to `joinChannel(string[])`
2023-03-16 08:26:03 +02:00
66c3a02d6e Client
- Added missing documentation for `onDirectMessage`, `onChannelMessage`, `onGenericCommand` and `onCommandReply`
2023-03-16 08:17:56 +02:00
087eb954d1 Client
- Print out `RPL_BOUNCE` when it appears
2023-03-16 08:05:34 +02:00
66cd409234 Package (protocol)
- Make `ReplyType` available
2023-03-15 21:29:07 +02:00
d66bec5fa6 Client
- Switch back to BNET test server
2023-03-15 21:26:07 +02:00
09e8d2e1b7 Merge branch 'master' into rfc2812 2023-03-15 21:19:46 +02:00
57ce756120 Constants
- Added `ERR_NOCHANMODES`
2023-03-15 20:50:03 +02:00
1f7e3a96af Constants
- Segmented into sections based on rfc
- Added a few new constants from RFC2812
- `RPL_BOUNCE` (`005`) is a numeric response to note as it has key-value pairs associated with it
2023-03-15 20:34:36 +02:00
7c8208182f Client
- Added TODOs for comments
2023-03-15 20:24:05 +02:00
672b8fee64 Client
- Added some TODOs for comments
2023-03-15 20:23:30 +02:00
681dfc042c Client
- Added TODO where response code handling needs to go
2023-03-15 20:07:10 +02:00
2a50c8efbb Unit tests
- Switch back to my IPv6-only server for testing
2023-03-15 17:15:25 +02:00
a42d913236 Receiver
- Parse all messages into a `Message` array (`SList`)
- If a PING is found then we put it aside and check if we have one and then reply
- The PING is removed and all normal messages remain and then get EVenty events triggered for them for `IRCEvent`
2023-03-15 17:13:30 +02:00
512eff727b Client
- Use freenode to test with for a little
2023-03-15 16:57:52 +02:00
f0ae335419 Receiver
- Documented a bug with the PING detection (#13)
2023-03-15 16:51:46 +02:00
44cce182ae ConnectionInfo
- Set default `fakeLag` to `1`
- Added `getFakeLag()` and `setFakeLag()`

Client

- Added `getConnInfo()` to return the client's associated `ConnectionInfo`

Sender

- Use the fakelag configured by user
2023-03-15 16:32:49 +02:00
044625194d Client
- Updated unittests to not use `command(Message)`
2023-03-15 08:56:56 +02:00
a00294989d Client
- Unittest now uses IPv6 accessible IRC server
- Placed any unittest-related imports into a `version(unittest) { ... }` block
2023-03-15 08:53:51 +02:00
9f6ab528c2 Client
- Updated header documentation for `sendMessage(Message)`
2023-03-15 08:47:40 +02:00
e4e1aaf0f4 Unit tests
- Updated unit test with some TODOs
2023-03-15 08:46:38 +02:00
75155795fa Client
- Updated `command(Message)` to use `sendMessage(Message)`
- Updated the `PongSignal` event handler to use `sendMessage(Message)` when sending the pong back
- Make `quit()` use the new `sendMessage(Message)`
- Disabled old `sendMessage(string)`
2023-03-15 08:43:45 +02:00
2b25f4933a Client
- Both variants of `channelMessage(..., ...)` now use `sendMessage(Message)`
2023-03-15 08:39:38 +02:00
52dbd12a24 Client
- `directMessage(string, string[])` now uses `sendMessage(Message)`
- `directMessage(string, string)` now uses `sendMessage(Message)`
2023-03-15 08:36:39 +02:00
4690c5a6c3 Client
- Updated `joinChannel(string)` to use `sendMessage(Message)`
- Added TODO relating to implementing `joinChannels(string[])`
- `leaveChannel(string[])` now uses the new `sendMessage(Message)`
- `leaveChannel(string)` now uses the new `sendMessage(Message)`
2023-03-15 08:32:14 +02:00
11dbd1a96f Client
- Fixed compilation error by adding missing `encodeMessage(string)` call
- If the encoded message (CRLF included) is over 512 bytes then throw an exception

Exceptions

- Added new `ErrorType` enum member
2023-03-15 08:24:56 +02:00
256369abc5 Client
- Implememted `sendMessage(Message)`
2023-03-15 08:19:07 +02:00
12883f93db Client
- Added a TODO
- Removed now-completed TODO
2023-03-14 23:58:22 +02:00
1f1796930d Messages
- Removed implicit `static`
- Added documentation to `ubyte[] encodeMessage(string)`
2023-03-14 23:57:40 +02:00
f4a2a75094 Formatting
- Added module `formatting` to hold formatting subroutines and constants

Package

- Publically import `birchwood.protocol.formatting`
2023-03-14 23:30:19 +02:00
d27843c842 Client
- When sending a pong back log its pong ID
2023-03-11 15:49:36 +02:00
847949433f
Updated dub package dependencies 2023-03-11 15:22:54 +02:00
1bdc68774f Client
- Fixed a possible bug whereby the `Receiver` and `Sender` may exit on start as they get to their `client.running` read before the main thread gets to setting `running = true`
2023-03-11 15:15:11 +02:00