aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 719a686304c2c8877c1e08543d6455c2fd5c5f85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Native rust implementation of the Quassel protocol and library functions

# Features

| Feature              | Description                                                                                                            |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| client               | Enable client side trait implementations                                                                               |
| server               | Enable server side trait implementations                                                                               |
| framing              | Enable support for tokio\'s [codec::Framed](url:https://docs.rs/tokio-util/latest/tokio_util/codec/struct.Framed.html) |
| all-quassel-features | enable all protocol features                                                                                           |
| long-message-id      | Serialize message IDs as i64                                                                                           |
| long-time            | Serialize Message Time as i64                                                                                          |
| rich-messages        | add avatar url and real name to messages                                                                               |
| sender-prefixes      | Show prefixes for senders in backlog                                                                                   |
| authenticators       | Support for exchangeable auth backends                                                                                 |
| bench                | Enable the test crate/feature for running benchmarks                                                                   |

# TODOs

- [ ] Implementation of Syncable Objects
  - [X] AliasManager
  - [ ] BacklogManager
  - [X] BufferSyncer
  - [X] BufferViewConfig
  - [X] BufferViewManager
  - [X] CertManager
  - [X] CoreInfo
  - [X] HighlightRuleManager
  - [X] Identity
  - [X] IgnoreListManager
  - [X] IrcChannel
  - [ ] IrcListHelper
  - [X] IrcUser
  - [X] Network
  - [X] NetworkInfo
  - [X] NetworkConfig
- [ ] Implement RPC Calls
  - [X] RPC Call Objects
  - [X] Serialization
  - [ ] Add to SessionManager
- [ ] Rework Error handling to actually handle errors
- [ ] Rewrite the parsers using nom