end
# If socket.end_reached, nothing will happen
- redef fun write(msg: Text)
+ redef fun write(msg)
do
if closed then return
socket.write(msg.to_s)
close
end_reached = true
end
- enlarge(_buffer_capacity + read.length)
+ enlarge(_buffer_length + read.length)
read.copy_to_native(_buffer, read.length, 0, 0)
_buffer_length = read.length
end
fun enlarge(len: Int) do
if _buffer_capacity >= len then return
- while _buffer_capacity < len do _buffer_capacity *= 2
+ while _buffer_capacity < len do _buffer_capacity = _buffer_capacity * 2 + 2
var ns = new NativeString(_buffer_capacity)
_buffer.copy_to(ns, _buffer_length - _buffer_pos, _buffer_pos, 0)
_buffer = ns