fix messages with multiple empty frames (#61)
This commit is contained in:
parent
1188bf3c0b
commit
deb46fef31
|
@ -354,16 +354,15 @@ proc recv*(
|
|||
trace "Setting binary flag"
|
||||
|
||||
let len = min(ws.frame.remainder.int, size - consumed)
|
||||
if len <= 0:
|
||||
trace "Nothing left to read, breaking!"
|
||||
break
|
||||
|
||||
if len > 0:
|
||||
trace "Reading bytes from frame stream", len
|
||||
let read = await ws.stream.reader.readOnce(addr pbuffer[consumed], len)
|
||||
if read <= 0:
|
||||
trace "Didn't read any bytes, breaking"
|
||||
break
|
||||
|
||||
trace "Read data from frame", read
|
||||
|
||||
if ws.frame.mask:
|
||||
trace "Unmasking frame"
|
||||
# unmask data using offset
|
||||
|
@ -375,7 +374,6 @@ proc recv*(
|
|||
consumed += read
|
||||
ws.frame.consumed += read.uint64
|
||||
|
||||
trace "Read data from frame", read
|
||||
# all has been consumed from the frame
|
||||
# read the next frame
|
||||
if ws.frame.remainder <= 0:
|
||||
|
|
Loading…
Reference in New Issue