Skip to content

Commit 574ebe0

Browse files
authored
TODOs (#18)
1 parent 9c521f0 commit 574ebe0

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

CONTRIBUTING.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
1+
## Introduction
2+
13
Thank you for contributing! Just a few tips here:
24

35
1. `cargo fmt` your code before opening up a PR
46
2. Run the "test suite" (i.e. PgBench) to make sure everything still works.
57

68
Happy hacking!
9+
10+
## TODOs
11+
12+
A non-exhaustive list of things that would be useful to implement.
13+
14+
#### Client authentication
15+
MD5 is probably sufficient, but maybe others too.
16+
17+
#### Statistics
18+
Same as PgBouncer, e.g. client wait, transactions, timings, etc. I'm thinking we can use `mpsc` here ([docs](https://tokio.rs/tokio/tutorial/channels)), with clients sending stats and a task collecting and aggregating them. This should avoid atomics/mutexes. Caveat is the task should make sure not to crash, so the channels don't get backed up.
19+
20+
#### Admin
21+
Admin database for stats collection and pooler administration. PgBouncer gives us a nice example on how to do that, specifically how to implement `RowDescription` and `DataRow` messages, [example here](https://github.com/pgbouncer/pgbouncer/blob/4f9ced8e63d317a6ff45c8b0efa876b32161f6db/src/admin.c#L813).

0 commit comments

Comments
 (0)