echo/modules
Jean 677963924a
Reorganize protocol and pseudoclients into a modules/ tree
The core stays in src/; protocol and pseudoclients move to modules/,
pulled in with #[path].
2026-07-12 10:37:59 +00:00
..
chanserv Reorganize protocol and pseudoclients into a modules/ tree 2026-07-12 10:37:59 +00:00
nickserv Reorganize protocol and pseudoclients into a modules/ tree 2026-07-12 10:37:59 +00:00
protocol Reorganize protocol and pseudoclients into a modules/ tree 2026-07-12 10:37:59 +00:00
README.md Reorganize protocol and pseudoclients into a modules/ tree 2026-07-12 10:37:59 +00:00

modules/

The pluggable parts of fedserv: one directory per protocol and per pseudoclient. The core (engine, event log, gossip, link loop) stays in ../src/.

modules/
  protocol/     ircd link protocols   (inspircd.rs)
  nickserv/     NickServ pseudoclient
  chanserv/     ChanServ pseudoclient

src/main.rs pulls each in with #[path = "../modules/..."], so crate paths stay flat (crate::proto, crate::nickserv, crate::chanserv).

Naming

A service directory holds its pseudoclient file plus, as commands are split out, one file per command with the service prefix: ns_register.rs, cs_mode.rs, etc.