Skip to content

Commit 3141d29

Browse files
committed
Remove SocketBuffer altogether
1 parent 102bcbb commit 3141d29

File tree

1 file changed

+1
-50
lines changed

1 file changed

+1
-50
lines changed

redis/asyncio/connection.py

Lines changed: 1 addition & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def decode(self, value: EncodableT, force=False) -> EncodableT:
141141
class BaseParser:
142142
"""Plain Python parsing class"""
143143

144-
__slots__ = "_stream", "_buffer", "_read_size"
144+
__slots__ = "_stream", "_read_size"
145145

146146
EXCEPTION_CLASSES: ExceptionMappingT = {
147147
"ERR": {
@@ -171,7 +171,6 @@ class BaseParser:
171171

172172
def __init__(self, socket_read_size: int):
173173
self._stream: Optional[asyncio.StreamReader] = None
174-
self._buffer: Optional[SocketBuffer] = None
175174
self._read_size = socket_read_size
176175

177176
def __del__(self):
@@ -206,54 +205,6 @@ async def read_response(
206205
raise NotImplementedError()
207206

208207

209-
class SocketBuffer:
210-
"""Async-friendly re-impl of redis-py's SocketBuffer."""
211-
212-
def __init__(
213-
self,
214-
stream_reader: asyncio.StreamReader,
215-
socket_read_size: int,
216-
):
217-
self._stream: Optional[asyncio.StreamReader] = stream_reader
218-
219-
async def can_read_destructive(self) -> bool:
220-
if self._stream is None:
221-
raise RedisError("Buffer is closed.")
222-
try:
223-
async with async_timeout.timeout(0):
224-
return await self._stream.read(1)
225-
except asyncio.TimeoutError:
226-
return False
227-
228-
async def read(self, length: int) -> bytes:
229-
"""
230-
Read `length` bytes of data. These are assumed to be followed
231-
by a '\r\n' terminator which is subsequently discarded.
232-
"""
233-
if self._stream is None:
234-
raise RedisError("Buffer is closed.")
235-
try:
236-
data = await self._stream.readexactly(length + 2)
237-
except asyncio.IncompleteReadError as error:
238-
raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) from error
239-
return data[:-2]
240-
241-
async def readline(self) -> bytes:
242-
"""
243-
read an unknown number of bytes up to the next '\r\n'
244-
line separator, which is discarded.
245-
"""
246-
if self._stream is None:
247-
raise RedisError("Buffer is closed.")
248-
data = await self._stream.readline()
249-
if not data.endswith(b"\r\n"):
250-
raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR)
251-
return data[:-2]
252-
253-
def close(self):
254-
self._stream = None
255-
256-
257208
class PythonParser(BaseParser):
258209
"""Plain Python parsing class"""
259210

0 commit comments

Comments
 (0)