Mark Veidemanis
e6527b4f9f
Add debugging code in keepChannels
2022-08-15 00:07:29 +01:00
Mark Veidemanis
8979a03bbd
Subtract one from length of list for indices
2022-08-15 00:04:49 +01:00
Mark Veidemanis
f7b84913f2
Lower max_chans to length of LIST if it's shorter
2022-08-15 00:03:12 +01:00
Mark Veidemanis
5123941c79
More debugging for reg tests and getstr command
2022-08-14 11:41:29 +01:00
Mark Veidemanis
6cc07c9171
Add allRelaysActive output to network info
2022-08-14 10:58:28 +01:00
Mark Veidemanis
ed1f3cdca7
Add debug statements and only check if network is connected when parting channels
2022-08-14 09:25:54 +01:00
Mark Veidemanis
15523bed96
Add more information to relay API return
2022-08-13 23:36:39 +01:00
Mark Veidemanis
653d9ea4f9
Add even more debugging
2022-08-13 23:18:56 +01:00
Mark Veidemanis
f1229a76e1
Extra debugging for getting active relays
2022-08-13 23:17:26 +01:00
Mark Veidemanis
7415ca5556
Use ChanKeep system for joining channels with joinSingle
2022-08-13 21:54:14 +01:00
Mark Veidemanis
9780a2dfc8
Fully make use of ECA for multiple channels
2022-08-13 21:40:53 +01:00
Mark Veidemanis
43c5625b3b
Implement configurable chanlimit and add more fields about LIST output to Redis
2022-08-13 20:37:21 +01:00
Mark Veidemanis
dd67e9cc8b
Implement ChanKeep without requiring persistent chanlimits on all networks
2022-08-13 19:20:29 +01:00
Mark Veidemanis
c145e5cf18
Add some debug statements and statistics for chanlimits
2022-08-13 18:40:13 +01:00
Mark Veidemanis
5db0373731
Print message if relay is unauthenticated/disconnected
2022-08-13 14:06:34 +01:00
Mark Veidemanis
4d543f31ec
Add connected status to IRC info return and check when getting active relays
2022-08-13 13:40:33 +01:00
Mark Veidemanis
6c92e8e7d9
Reformat code
2022-08-13 13:32:22 +01:00
Mark Veidemanis
836e621063
Implement getting LIST information from API
2022-08-13 13:27:20 +01:00
Mark Veidemanis
ddc9af0ddf
Add docstrings to chankeep
2022-08-12 23:53:02 +01:00
Mark Veidemanis
edfb3f15eb
Implement migrating networks
2022-08-12 23:32:00 +01:00
Mark Veidemanis
14967f662c
Subtract allocated channel slots from total
2022-08-12 22:31:12 +01:00
Mark Veidemanis
0b370fc155
Improve channel allocation and write basic tests for it
2022-08-12 22:27:49 +01:00
Mark Veidemanis
719f014265
Implement best effort allocation
2022-08-11 21:44:19 +01:00
Mark Veidemanis
1ef600a9df
Simplify variable names and reformat
2022-08-11 20:51:41 +01:00
Mark Veidemanis
b72a0672a5
Use ceil instead of round for relay number rounding
2022-08-11 20:46:44 +01:00
Mark Veidemanis
bb3b96e7f7
Expand ECA secondary allocation algorithm
2022-08-11 20:43:34 +01:00
Mark Veidemanis
c4db8ec99d
Adding more debug statements in ECA system
2022-08-11 20:36:24 +01:00
Mark Veidemanis
73b0518a8f
Print information about received LIST
2022-08-11 20:32:49 +01:00
Mark Veidemanis
ea81fc80e3
Don't add 1 to current relays when iterating
2022-08-11 20:13:30 +01:00
Mark Veidemanis
8cd22888b7
Add extra debug call for allRelaysActive
2022-08-11 20:12:38 +01:00
Mark Veidemanis
c983a8e3b6
Allow gaps in relay numbering
2022-08-11 19:22:09 +01:00
Mark Veidemanis
9b03485b69
More error handling when joining channels with ChanKeep
2022-08-02 09:01:24 +01:00
Mark Veidemanis
75f79cf072
Fix joining channels with inactive relays
2022-07-29 17:28:09 +01:00
Mark Veidemanis
15583bdaab
Implement relay, channel and alias management
2022-07-27 22:03:42 +01:00
Mark Veidemanis
80c016761f
Reformat again
2022-07-21 13:40:09 +01:00
Mark Veidemanis
2fecd98978
Reformat project
2022-07-21 13:40:05 +01:00
Mark Veidemanis
27cafa1def
Revert "Reformat project"
...
This reverts commit 64e3e1160aa76d191740342ab3edc68807f890fb.
2022-07-21 13:40:01 +01:00
Mark Veidemanis
da678617d8
Reformat project
2022-07-21 13:39:59 +01:00
Mark Veidemanis
7c855e09c0
Reformat code with pre-commit
2022-07-21 13:39:41 +01:00
Mark Veidemanis
08b5dc06f0
Implement relay-independent join
2020-11-02 20:14:02 +00:00
Mark Veidemanis
fe86d30155
Fix various bugs and off by one with provisioning
2020-10-31 23:55:11 +00:00
Mark Veidemanis
1fec14d759
Clarify error message to be more helpful
2020-10-31 00:11:28 +00:00
Mark Veidemanis
95ee63e399
Fix circular import in ChanKeep/provisioning modules
2020-10-28 18:38:27 +00:00
Mark Veidemanis
f50a40d207
Fixes to auth detection and message parsing
...
* don't check authentication if the network doesn't need to
register
* don't pass through muser for ZNC type messages
* avoid duplicate message for queries containing highlights
* make a copy of the cast for metadata analysis to avoid poisoning it
* set up callback for when the instance is authenticated, so we can
request a LIST immediately if so desired
* separate out seeding functions to populate CHANLIMIT to ease future
work involving other options, such as PREFIX
2020-06-07 17:26:53 +01:00
Mark Veidemanis
45070b06e2
Implement authentication detection
...
* pending command to see which instances have never authenticated
* authcheck command to see which instances are not currently
authenticated
2020-05-31 21:52:56 +01:00
Mark Veidemanis
91885170f1
Check registration status before joining channels
...
Do not join channels if any relay for a network is unregistered.
2020-05-31 13:09:58 +01:00
Mark Veidemanis
a20fcdb8fc
Remove some debugging code from ChanKeep
2019-10-31 15:54:07 +00:00
Mark Veidemanis
7ffb6125aa
Fix various bugs uncovered by the LIST system
...
* Work around Twisted's broken handling of spaces
* Work around Twisted's broken line decoding
* Don't run signedOn twice for relays
* Improved detection of whether the endpoint is connected to ZNC
* Delay a LIST until all configured relays are online
* Discard a LIST if there are no callbacks for it
* Get rid of some double-negative ternary blocks
2019-10-31 15:44:59 +00:00
Mark Veidemanis
b4fa747853
Fix LIST handling and message parsing
...
* Always use simple LIST syntax if it succeeded once after a failed
complex query
* Reject asking for a LIST twice
* Quickly discard any ISUPPORT messages that don't contain things we
need to use
* Detect the server name and drop any messages from the server
2019-10-20 16:44:33 +01:00
Mark Veidemanis
6ad6d6dc50
Fix channel allocation when relays are provisioned
...
Fix a bug where the channel allocation algorithm failed due to
necessary relays not having been provisioned yet.
Passed the newly created relay numbers to the allocation function
and assumed their CHANMAX would be the same as all other relays for
the same network.
2019-10-12 21:40:50 +01:00