|
|
|
@ -30,12 +30,12 @@ mkBackend con = Backend { backendSend = \bs -> void (streamSend con bs) |
|
|
|
bufferReceive _ 0 = return BS.empty |
|
|
|
bufferReceive _ 0 = return BS.empty |
|
|
|
bufferReceive recv n = BS.concat `liftM` (go n) |
|
|
|
bufferReceive recv n = BS.concat `liftM` (go n) |
|
|
|
where |
|
|
|
where |
|
|
|
go n = do |
|
|
|
go m = do |
|
|
|
bs <- recv n |
|
|
|
bs <- recv m |
|
|
|
case BS.length bs of |
|
|
|
case BS.length bs of |
|
|
|
0 -> return [] |
|
|
|
0 -> return [] |
|
|
|
l -> if l < n |
|
|
|
l -> if l < m |
|
|
|
then (bs :) `liftM` go (n - l) |
|
|
|
then (bs :) `liftM` go (m - l) |
|
|
|
else return [bs] |
|
|
|
else return [bs] |
|
|
|
|
|
|
|
|
|
|
|
starttlsE :: Element |
|
|
|
starttlsE :: Element |
|
|
|
|