Copier is based on Efl.Io.Reader.can_read,changed and
Efl.Io.Writer.can_write,changed, these events do not keep being posted
until it's actually read/written, instead they trigger only once when
the property change -- unlike Efl.Loop_Fd read/write events.
{
if (pd->buffer_limit <= used)
{
- // TODO: disconnect 'read' so stops calling?
return;
}
else if (pd->buffer_limit > used)
ro_slice = eina_binbuf_slice_get(pd->buf);
if (ro_slice.len == 0)
{
- // TODO: disconnect 'write' so stops calling?
return;
}
ro_slice.len = p - ro_slice.bytes + pd->line_delimiter.len;
else if ((pd->buffer_limit == 0) || (ro_slice.len < pd->buffer_limit))
{
- // TODO: disconnect 'write' so stops calling?
return;
}
}