diff --git a/libp2p/network/swarm.py b/libp2p/network/swarm.py index 7bb40ce..de80dd8 100644 --- a/libp2p/network/swarm.py +++ b/libp2p/network/swarm.py @@ -248,7 +248,7 @@ class Swarm(INetwork): # TODO: Should be changed to close multisple connections, # if we have several connections per peer in the future. connection = self.connections[peer_id] - # NOTE: `connection.close` will perform `del self.connections[peer_id]` + # NOTE: `connection.close` will delete `peer_id` from `self.connections` # and `notify_disconnected` for us. await connection.close() diff --git a/libp2p/pubsub/gossipsub.py b/libp2p/pubsub/gossipsub.py index 93faebd..d09db76 100644 --- a/libp2p/pubsub/gossipsub.py +++ b/libp2p/pubsub/gossipsub.py @@ -144,8 +144,7 @@ class GossipSub(IPubsubRouter): elif peer_id in self.peers_floodsub: self.peers_floodsub.remove(peer_id) - if peer_id in self.peers_to_protocol: - del self.peers_to_protocol[peer_id] + self.peers_to_protocol.pop(peer_id, None) async def handle_rpc(self, rpc: rpc_pb2.RPC, sender_peer_id: ID) -> None: """ @@ -274,8 +273,7 @@ class GossipSub(IPubsubRouter): self.mesh[topic].append(peer) await self.emit_graft(topic, peer) - if topic_in_fanout: - del self.fanout[topic] + self.fanout.pop(topic, None) async def leave(self, topic: str) -> None: # Note: the comments here are the near-exact algorithm description from the spec diff --git a/libp2p/pubsub/mcache.py b/libp2p/pubsub/mcache.py index b17f867..c848912 100644 --- a/libp2p/pubsub/mcache.py +++ b/libp2p/pubsub/mcache.py @@ -96,8 +96,7 @@ class MessageCache: last_entries: List[CacheEntry] = self.history[len(self.history) - 1] for entry in last_entries: - if entry.mid in self.msgs: - del self.msgs[entry.mid] + self.msgs.pop(entry.mid) i: int = len(self.history) - 2 diff --git a/libp2p/pubsub/pubsub.py b/libp2p/pubsub/pubsub.py index 3834eb4..493a303 100644 --- a/libp2p/pubsub/pubsub.py +++ b/libp2p/pubsub/pubsub.py @@ -232,8 +232,7 @@ class Pubsub: :param topic: the topic to remove validator from """ - if topic in self.topic_validators: - del self.topic_validators[topic] + self.topic_validators.pop(topic, None) def get_msg_validators(self, msg: rpc_pb2.Message) -> Tuple[TopicValidator, ...]: """ diff --git a/libp2p/security/security_multistream.py b/libp2p/security/security_multistream.py index 52c957c..0507a52 100644 --- a/libp2p/security/security_multistream.py +++ b/libp2p/security/security_multistream.py @@ -50,8 +50,7 @@ class SecurityMultistream(ABC): :param transport: the corresponding transportation to the ``protocol``. """ # If protocol is already added before, remove it and add it again. - if protocol in self.transports: - del self.transports[protocol] + self.transports.pop(protocol, None) self.transports[protocol] = transport # Note: None is added as the handler for the given protocol since # we only care about selecting the protocol, not any handler function diff --git a/libp2p/stream_muxer/mplex/mplex.py b/libp2p/stream_muxer/mplex/mplex.py index 1a43c7c..f70cae2 100644 --- a/libp2p/stream_muxer/mplex/mplex.py +++ b/libp2p/stream_muxer/mplex/mplex.py @@ -297,8 +297,7 @@ class Mplex(IMuxedConn): # the entry of this stream, to avoid others from accessing it. if is_local_closed: async with self.streams_lock: - if stream_id in self.streams: - del self.streams[stream_id] + self.streams.pop(stream_id, None) async def _handle_reset(self, stream_id: StreamID) -> None: async with self.streams_lock: @@ -316,8 +315,7 @@ class Mplex(IMuxedConn): if not stream.event_local_closed.is_set(): stream.event_local_closed.set() async with self.streams_lock: - if stream_id in self.streams: - del self.streams[stream_id] + self.streams.pop(stream_id, None) async def _cleanup(self) -> None: if not self.event_shutting_down.is_set(): diff --git a/libp2p/stream_muxer/mplex/mplex_stream.py b/libp2p/stream_muxer/mplex/mplex_stream.py index f080d3c..7630c96 100644 --- a/libp2p/stream_muxer/mplex/mplex_stream.py +++ b/libp2p/stream_muxer/mplex/mplex_stream.py @@ -180,8 +180,7 @@ class MplexStream(IMuxedStream): if _is_remote_closed: # Both sides are closed, we can safely remove the buffer from the dict. async with self.muxed_conn.streams_lock: - if self.stream_id in self.muxed_conn.streams: - del self.muxed_conn.streams[self.stream_id] + self.muxed_conn.streams.pop(self.stream_id, None) async def reset(self) -> None: """closes both ends of the stream tells this remote side to hang up.""" @@ -208,11 +207,8 @@ class MplexStream(IMuxedStream): self.event_remote_closed.set() async with self.muxed_conn.streams_lock: - if ( - self.muxed_conn.streams is not None - and self.stream_id in self.muxed_conn.streams - ): - del self.muxed_conn.streams[self.stream_id] + if self.muxed_conn.streams is not None: + self.muxed_conn.streams.pop(self.stream_id, None) # TODO deadline not in use def set_deadline(self, ttl: int) -> bool: diff --git a/libp2p/stream_muxer/muxer_multistream.py b/libp2p/stream_muxer/muxer_multistream.py index f82cd19..d83869f 100644 --- a/libp2p/stream_muxer/muxer_multistream.py +++ b/libp2p/stream_muxer/muxer_multistream.py @@ -44,8 +44,7 @@ class MuxerMultistream: :param transport: the corresponding transportation to the ``protocol``. """ # If protocol is already added before, remove it and add it again. - if protocol in self.transports: - del self.transports[protocol] + self.transports.pop(protocol, None) self.transports[protocol] = transport self.multiselect.add_handler(protocol, None)