diff --git a/src/wormhole/_dilation/connection.py b/src/wormhole/_dilation/connection.py index b8f3ec6..c53f036 100644 --- a/src/wormhole/_dilation/connection.py +++ b/src/wormhole/_dilation/connection.py @@ -393,7 +393,7 @@ class _Record(object): self._framer.send_frame(frame) -@attrs +@attrs(hash=True) class DilatedConnectionProtocol(Protocol, object): """I manage an L2 connection. diff --git a/src/wormhole/_dilation/connector.py b/src/wormhole/_dilation/connector.py index aa5f8e0..c9c6ee5 100644 --- a/src/wormhole/_dilation/connector.py +++ b/src/wormhole/_dilation/connector.py @@ -39,7 +39,7 @@ NOISEPROTO = b"Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s" def build_noise(): return NoiseConnection.from_name(NOISEPROTO) -@attrs +@attrs(hash=True) @implementer(IDilationConnector) class Connector(object): _dilation_key = attrib(validator=instance_of(type(b""))) diff --git a/src/wormhole/_dilation/manager.py b/src/wormhole/_dilation/manager.py index 18d1770..8e2a0e0 100644 --- a/src/wormhole/_dilation/manager.py +++ b/src/wormhole/_dilation/manager.py @@ -87,7 +87,7 @@ def make_side(): # * if follower calls w.dilate() but not leader, follower waits forever # in "want", leader waits forever in "wanted" -@attrs +@attrs(hash=True) @implementer(IDilationManager) class Manager(object): _S = attrib(validator=provides(ISend))