Changeset 537 in code for trunk/doc/ext/bouncer-networks.md
- Timestamp:
- May 25, 2021, 2:56:38 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/ext/bouncer-networks.md
r535 r537 28 28 ## Description 29 29 30 This document describes the ` bouncer-networks` extension. This enables clients31 to discover servers that are bouncers, list and edit upstream networks the 32 bouncer is connected to.30 This document describes the `soju.im/bouncer-networks` extension. This enables 31 clients to discover servers that are bouncers, list and edit upstream networks 32 the bouncer is connected to. 33 33 34 34 Each network has a unique per-user ID called "netid". It MUST NOT change during … … 40 40 ## Implementation 41 41 42 The `bouncer-networks` extension defines a new `RPL_ISUPPORT` token and a new 43 `BOUNCER` command. 44 45 The `bouncer-networks` capability MUST be negociated. This allows the server and 46 client to behave differently when the client is aware of the bouncer networks. 47 48 The `bouncer-networks-notify` capability MAY be negociated. This allows the 49 client to signal that it is capable of receiving and correctly processing 42 The `soju.im/bouncer-networks` extension defines a new `RPL_ISUPPORT` token and 43 a new `BOUNCER` command. 44 45 The `soju.im/bouncer-networks` capability MUST be negociated. This allows the 46 server and client to behave differently when the client is aware of the bouncer 47 networks. 48 49 The `soju.im/bouncer-networks-notify` capability MAY be negociated. This allows 50 the client to signal that it is capable of receiving and correctly processing 50 51 bouncer network notifications. 51 52 … … 55 56 Its optional value is the network ID bound for the current connection. 56 57 57 ### ` bouncer-networks` batch58 59 The ` bouncer-networks` batch does not take any parameter and can only contain60 `BOUNCER NETWORK` messages.58 ### `soju.im/bouncer-networks` batch 59 60 The `soju.im/bouncer-networks` batch does not take any parameter and can only 61 contain `BOUNCER NETWORK` messages. 61 62 62 63 ### `BOUNCER` command … … 80 81 BOUNCER LISTNETWORKS 81 82 82 The server replies with a ` bouncer-networks` batch, containing any number of83 `BOUNCER NETWORK` messages:83 The server replies with a `soju.im/bouncer-networks` batch, containing any 84 number of `BOUNCER NETWORK` messages: 84 85 85 86 BOUNCER NETWORK <netid> <attributes> … … 135 136 ### Network notifications 136 137 137 If the client has negociated the ` bouncer-networks-notify` capability, the138 server MUST send an initial batch of `BOUNCER NETWORK` messages with the current 139 list of network, and MUST send notification messages whenever a network is 140 added, updated or removed.141 142 If the client has not negociated the ` bouncer-networks-notify` capability, the143 server MUST NOT send implicit `BOUNCER NETWORK` messages.138 If the client has negociated the `soju.im/bouncer-networks-notify` capability, 139 the server MUST send an initial batch of `BOUNCER NETWORK` messages with the 140 current list of network, and MUST send notification messages whenever a network 141 is added, updated or removed. 142 143 If the client has not negociated the `soju.im/bouncer-networks-notify` 144 capability, the server MUST NOT send implicit `BOUNCER NETWORK` messages. 144 145 145 146 When network attributes are updated, the bouncer MUST broadcast a 146 147 `BOUNCER NETWORK` message with the updated attributes to all connected clients 147 with the ` bouncer-networks-notify` capability enabled:148 with the `soju.im/bouncer-networks-notify` capability enabled: 148 149 149 150 BOUNCER NETWORK <netid> <attributes> … … 153 154 When a network is removed, the bouncer MUST broadcast a `BOUNCER NETWORK` 154 155 message with the special argument `*` to all connected clients with the 155 ` bouncer-networks-notify` capability enabled:156 `soju.im/bouncer-networks-notify` capability enabled: 156 157 157 158 BOUNCER NETWORK <netid> * … … 251 252 C: NICK emersion 252 253 C: USER emersion 0 0 :Simon 253 S: CAP * LS :sasl=PLAIN bouncer-networksbouncer-networks-notify254 C: CAP REQ :sasl bouncer-networks254 S: CAP * LS :sasl=PLAIN soju.im/bouncer-networks soju.im/bouncer-networks-notify 255 C: CAP REQ :sasl soju.im/bouncer-networks 255 256 [SASL authentication] 256 257 C: BOUNCER BIND 42 … … 260 261 261 262 C: BOUNCER LISTNETWORKS 262 S: BATCH +asdf bouncer-networks263 S: BATCH +asdf soju.im/bouncer-networks 263 264 S: @batch=asdf BOUNCER NETWORK 42 name=Freenode;state=connected 264 265 S: @batch=asdf BOUNCER NETWORK 43 name=My\sAwesome\sNetwork;state=disconnected
Note:
See TracChangeset
for help on using the changeset viewer.