File tree 1 file changed +14
-5
lines changed
1 file changed +14
-5
lines changed Original file line number Diff line number Diff line change @@ -123,7 +123,7 @@ class RedisResp {
123
123
throw RedisRespError ( code: . EOF)
124
124
}
125
125
}
126
-
126
+
127
127
switch ( buffer [ offset..< offset+ 1 ] ) {
128
128
case RedisResp . plus:
129
129
( response, offset) = try parseSimpleString ( & buffer, offset: offset+ 1 )
@@ -237,12 +237,21 @@ class RedisResp {
237
237
/* 5X faster than using find() above. range() is expensive */
238
238
var i = from
239
239
while true {
240
- while i < buffer. count {
241
- if buffer [ i] == 13 && buffer [ i+ 1 ] == 10 {
242
- return i
240
+ while i < buffer. count - 1 {
241
+ // if buffer[i] == 13 && buffer[i+1] == 10{
242
+ // return i
243
+ // }
244
+ if buffer [ i+ 1 ] == 10 {
245
+ if buffer [ i] == 13 {
246
+ return i
247
+ } else {
248
+ i+= 2
249
+ }
250
+ } else {
251
+ i+= 1
243
252
}
244
- i+= 1
245
253
}
254
+
246
255
let length = try socket? . read ( into: & buffer)
247
256
if length == 0 {
248
257
throw RedisRespError ( code: . EOF)
You can’t perform that action at this time.
0 commit comments