1
0
mirror of https://github.com/deavmi/birchwood synced 2024-09-20 11:43:22 +02:00
A sane IRC framework for the D language https://deavmi.assigned.network/projects/birchwood
Go to file
Tristan B. Velloza Kildaire 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
source/birchwood Client 2023-03-18 12:29:35 +02:00
.gitignore Updated .gitignore 2022-10-30 17:01:53 +02:00
dub.json Dub 2023-03-18 11:30:31 +02:00
LICENSE Set license to LGPL 3.0 2022-10-30 17:05:19 +02:00
logo.png Added README along with branding 2022-10-30 16:59:23 +02:00
logo.svg Added README along with branding 2022-10-30 16:59:23 +02:00
README.md Updated IRC compatibility information 2023-03-16 13:03:16 +02:00


birchwood

A sane IRC framework for the D language




[13:51:00] <zh_> A sane IRC framework for the D language
[13:51:11] <zh_> s/sane/professional

Installation

To add birchwood to your project simply run:

dub add birchwood

Dependencies

Birchwood dependends on the following D libraries:

  • libsnooze (0.3.0)
  • eventy (0.4.0)
  • dlog (0.3.19)

Usage

You can take a look at the Client API documentation on DUB.

Compatibiloty

  • rfc1459
    • Supports all the numeric codes
  • rfc2812
    • Supports all the numeric codes

More standards will be added within the next month or so, mostly relating to new response codes that just need to be added.

License

See LICENSE.