aboutsummaryrefslogtreecommitdiff
path: root/src/IRCServer.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-05-11 18:22:40 +0100
committerGravatar jesopo2019-05-11 18:22:40 +0100
commitd291cd506373046d703450bc9d97082b89cbe8be (patch)
tree41a80e2c54f041d0bc550e9201c5119a6aab14f6 /src/IRCServer.py
parentChange ducks-min-message default to 100 (diff)
signature
Revamp how CAPs are tracked through REQ and ACK/NAK etc
Diffstat (limited to 'src/IRCServer.py')
-rw-r--r--src/IRCServer.py21
1 files changed, 6 insertions, 15 deletions
diff --git a/src/IRCServer.py b/src/IRCServer.py
index 1a556ee5..01010fce 100644
--- a/src/IRCServer.py
+++ b/src/IRCServer.py
@@ -24,10 +24,10 @@ class Server(IRCObject.Object):
self.realname = None # type: typing.Optional[str]
self.hostname = None # type: typing.Optional[str]
- self._capability_queue = set([]) # type: typing.Set[str]
+ self.capability_queue = {
+ } # type: typing.Dict[str, utils.irc.Capability]
self._capabilities_waiting = set([]) # type: typing.Set[str]
self.agreed_capabilities = set([]) # type: typing.Set[str]
- self.requested_capabilities = [] # type: typing.List[str]
self.server_capabilities = {} # type: typing.Dict[str, str]
self.batches = {} # type: typing.Dict[str, IRCLine.ParsedLine]
self.cap_started = False
@@ -269,21 +269,12 @@ class Server(IRCObject.Object):
def send_capibility_ls(self) -> IRCLine.SentLine:
return self.send(utils.irc.protocol.capability_ls())
- def queue_capability(self, capability: str):
- self._capability_queue.add(capability)
- def queue_capabilities(self, capabilities: typing.List[str]):
- self._capability_queue.update(capabilities)
def send_capability_queue(self):
- if self.has_capability_queue():
- capability_queue = list(self._capability_queue)
- self._capability_queue.clear()
+ capability_queue = [cap for cap in self.capability_queue.keys()]
- for i in range(0, len(capability_queue), 10):
- capability_batch = capability_queue[i:i+10]
- self.requested_capabilities += capability_batch
- self.send_capability_request(" ".join(capability_batch))
- def has_capability_queue(self):
- return bool(len(self._capability_queue))
+ for i in range(0, len(capability_queue), 10):
+ capability_batch = capability_queue[i:i+10]
+ self.send_capability_request(" ".join(capability_batch))
def send_capability_request(self, capability: str) -> IRCLine.SentLine:
return self.send(utils.irc.protocol.capability_request(capability))
def send_capability_end(self) -> IRCLine.SentLine: