1
0
mirror of https://github.com/deavmi/birchwood synced 2024-09-20 14:23:38 +02:00
Commit Graph

162 Commits

Author SHA1 Message Date
de35d611f7 Client
- Made the `connInfo` field `package` level
- Made the `connInfo` field `shared` meaning access to teh variable (updating the "slot", a.k.a. what struct is stored there) will use a lock
- Updating anything within the struct will use a lock (besides `addrInfo` after returning from `getAddr()`)
- This ensures we can have runtime updates safely
- Added documentation to the constructor
- Added TODO for the destructor
- Re-added `getConnInfo()`
- This practice is good for cases we want to update the struct, as getting it via a function would return a copy

ConnInfo

- `ConnectionInfo` struct must now be marked as `shared` due to `Client.connInfo` being marked as such
- We cast from `shared Address` to `Address` because I don't think there is a lot of mutable data in this anyways (subject to change)

Sender

- The `SenderThread` will now access the client's connection info via the field name (`connInfo`), rather than getting a copy of the struct and then fetching the fakelag
2023-03-18 12:29:35 +02:00
aa83f1a1bb ConnInfo
- Added `setBulkReadSize(ulong)` to `ConnectionInfo`
2023-03-18 11:50:54 +02:00
2ab86df2c7 Client
- Documented the `sender` field
2023-03-18 11:47:54 +02:00
b19a7a52d6 Client
- Added missing documentation for `Client` type
2023-03-18 11:47:06 +02:00
603e636c2a Client
- Removed stray comment
2023-03-18 11:38:54 +02:00
ee3cacc244 Unit test
- Added notes about the fact we should be automating the `NICK` and `USER` commands on connect
2023-03-18 11:31:55 +02:00
25531aa0e3 Dub
- Added `homepage` key to package description
2023-03-18 11:30:31 +02:00
6688d6dfdf Config
- Documented package module

Client

- Documented package module

Protocol

- Documented package module

Birchwood

- Documented package module
2023-03-18 11:29:41 +02:00
cb56a4d9f4 ConnInfo
- Clean up comment
2023-03-18 11:25:39 +02:00
bd16cc145c Unit tests
- Fixed usage of `ErrorType`
2023-03-18 11:24:52 +02:00
47687244af Exceptions
- Commented all of `BirchwoodException`
- Moved `ErrorType` up to the module-level
- Documented `ErrorType` and all of its member enums

Client

- Fixed usage of `ErrorType`

ConnInfo

- Documented `ConnectionInfo`
- Fixed usage of `ErrorType`
2023-03-18 11:24:01 +02:00
9e68d94120 Sender
- Added documentation to the `SenderThread`

Receiver

- Added documentation to the `ReceiveThread`
2023-03-18 11:09:42 +02:00
fc63aaae49 Receiver
- Added missing documentation
- Removed commented-out code block

Sender

- Added missing documentation
- Removed commented-out code block
2023-03-18 11:07:37 +02:00
a1b739e8b7 Merge branch 'params_parsing' 2023-03-17 09:31:17 +02:00
c6953057e8 Client
- Disable testing code for now
2023-03-17 09:29:04 +02:00
91235f7484 ConnInfo
- Documented module

ConnectionInfo

- Documented struct
2023-03-17 09:25:26 +02:00
ac6d9dbc14 ConnInfo
- Added method documentation
2023-03-17 09:24:24 +02:00
d982205b1b Messages
- Documented `getKVPairs()`, `getTrailing()` and `getPairs()`
2023-03-17 09:20:54 +02:00
0e9c042d21 Unit tests
- Cleaned up
2023-03-17 09:18:17 +02:00
3c6ee2bbbb Unit tests
- Added another unit test
2023-03-17 09:11:22 +02:00
0c4382d7ce Client
- Test new parameter parsing
- Noted DLog logging bug where output cannot be seen
2023-03-17 09:10:04 +02:00
d705ad1e66 Messages
- Added `ppPairs` and `getPairs()` which returns a `string[]` of all parameters (excluding trailing)
- Implemented usage of new `splitter(string, ref bool)`
- The `splitter()` function now sets a flag if there is a trailer

Unit tests

- Updated unit test to use new `splitter(string ref bool)`
2023-03-17 09:09:40 +02:00
988b1686d7 Messages
- FIxed assertion in unit test
2023-03-17 08:37:13 +02:00
1af73cb9d3 Messages
- Added unit test for `splitting(string)`
2023-03-17 08:36:09 +02:00
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