summary refs log tree commit diff
path: root/stubs/txredisapi.pyi
diff options
context:
space:
mode:
authorPatrick Cloke <clokep@users.noreply.github.com>2022-03-08 07:26:05 -0500
committerGitHub <noreply@github.com>2022-03-08 07:26:05 -0500
commitd8bab6793c75774db4bde8aeec6897b607e08799 (patch)
tree6c325df81913ef6374577c94ab81cac9279af2f6 /stubs/txredisapi.pyi
parentFix a bug in background updates wherein background updates are never run usin... (diff)
downloadsynapse-d8bab6793c75774db4bde8aeec6897b607e08799.tar.xz
Fix incorrect type hints for txredis. (#12042)
Some properties were marked as RedisProtocol instead of ConnectionHandler,
which wraps RedisProtocol instance(s).
Diffstat (limited to 'stubs/txredisapi.pyi')
-rw-r--r--stubs/txredisapi.pyi9
1 files changed, 6 insertions, 3 deletions
diff --git a/stubs/txredisapi.pyi b/stubs/txredisapi.pyi
index 429234d7ae..2d8ca018fb 100644
--- a/stubs/txredisapi.pyi
+++ b/stubs/txredisapi.pyi
@@ -20,7 +20,7 @@ from twisted.internet import protocol
 from twisted.internet.defer import Deferred
 
 class RedisProtocol(protocol.Protocol):
-    def publish(self, channel: str, message: bytes): ...
+    def publish(self, channel: str, message: bytes) -> "Deferred[None]": ...
     def ping(self) -> "Deferred[None]": ...
     def set(
         self,
@@ -52,11 +52,14 @@ def lazyConnection(
     convertNumbers: bool = ...,
 ) -> RedisProtocol: ...
 
-class ConnectionHandler: ...
+# ConnectionHandler doesn't actually inherit from RedisProtocol, but it proxies
+# most methods to it via ConnectionHandler.__getattr__.
+class ConnectionHandler(RedisProtocol):
+    def disconnect(self) -> "Deferred[None]": ...
 
 class RedisFactory(protocol.ReconnectingClientFactory):
     continueTrying: bool
-    handler: RedisProtocol
+    handler: ConnectionHandler
     pool: List[RedisProtocol]
     replyTimeout: Optional[int]
     def __init__(