Check if entry exists in dictionary before delete
This commit is contained in:
parent
64c49f809f
commit
c0522c1bd9
|
@ -96,6 +96,7 @@ class MessageCache:
|
||||||
last_entries: List[CacheEntry] = self.history[len(self.history) - 1]
|
last_entries: List[CacheEntry] = self.history[len(self.history) - 1]
|
||||||
|
|
||||||
for entry in last_entries:
|
for entry in last_entries:
|
||||||
|
if entry.mid in self.msgs:
|
||||||
del self.msgs[entry.mid]
|
del self.msgs[entry.mid]
|
||||||
|
|
||||||
i: int = len(self.history) - 2
|
i: int = len(self.history) - 2
|
||||||
|
|
|
@ -297,6 +297,7 @@ class Mplex(IMuxedConn):
|
||||||
# the entry of this stream, to avoid others from accessing it.
|
# the entry of this stream, to avoid others from accessing it.
|
||||||
if is_local_closed:
|
if is_local_closed:
|
||||||
async with self.streams_lock:
|
async with self.streams_lock:
|
||||||
|
if stream_id in self.streams:
|
||||||
del self.streams[stream_id]
|
del self.streams[stream_id]
|
||||||
|
|
||||||
async def _handle_reset(self, stream_id: StreamID) -> None:
|
async def _handle_reset(self, stream_id: StreamID) -> None:
|
||||||
|
@ -315,6 +316,7 @@ class Mplex(IMuxedConn):
|
||||||
if not stream.event_local_closed.is_set():
|
if not stream.event_local_closed.is_set():
|
||||||
stream.event_local_closed.set()
|
stream.event_local_closed.set()
|
||||||
async with self.streams_lock:
|
async with self.streams_lock:
|
||||||
|
if stream_id in self.streams:
|
||||||
del self.streams[stream_id]
|
del self.streams[stream_id]
|
||||||
|
|
||||||
async def _cleanup(self) -> None:
|
async def _cleanup(self) -> None:
|
||||||
|
|
|
@ -180,6 +180,7 @@ class MplexStream(IMuxedStream):
|
||||||
if _is_remote_closed:
|
if _is_remote_closed:
|
||||||
# Both sides are closed, we can safely remove the buffer from the dict.
|
# Both sides are closed, we can safely remove the buffer from the dict.
|
||||||
async with self.muxed_conn.streams_lock:
|
async with self.muxed_conn.streams_lock:
|
||||||
|
if self.stream_id in self.muxed_conn.streams:
|
||||||
del self.muxed_conn.streams[self.stream_id]
|
del self.muxed_conn.streams[self.stream_id]
|
||||||
|
|
||||||
async def reset(self) -> None:
|
async def reset(self) -> None:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user