Reads data into a pre-allocated buffer.

This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.

You can understand this method as read(2) libc function.

Since 1.22


read @pure_virtual {
    params {
        @inout rw_slice: rw_slice<ubyte>;
    return: Eina.Error;

C signature

Eina_Error efl_io_reader_read(Eo *obj, Eina_Rw_Slice rw_slice);


  • rw_slice (inout) - Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.

Implemented by