Generic In-memory queue of data to be used as I/O.
This class is to be used to receive temporary data using Efl.Io.Writer.write and hold it until someone calls Efl.Io.Reader.read to consume it.
A fixed sized queue can be implemented by setting Efl.Io.Queue.limit followed by Efl.Io.Queue.preallocate
⇒ Efl.Object (class)
can_read (get, set) protected set
[Overridden from Efl.Io.Reader]
Iftrue
will notify Efl.Io.Reader.read can be called without blocking or failing.
Eina_Bool efl_io_reader_can_read_get(const Eo *obj); void efl_io_reader_can_read_set(Eo *obj, Eina_Bool can_read);
can_write (get, set) protected set
[Overridden from Efl.Io.Writer]
Iftrue
will notify Efl.Io.Writer.write can be called without blocking or failing.
Eina_Bool efl_io_writer_can_write_get(const Eo *obj); void efl_io_writer_can_write_set(Eo *obj, Eina_Bool can_write);
Clears the queue. Same as reading all data.
void efl_io_queue_clear(Eo *obj);
close [Overridden from Efl.Io.Closer]
Closes the Input/Output object.
Eina_Error efl_io_closer_close(Eo *obj);
close_on_exec (get, set) [Overridden from Efl.Io.Closer]
If true will automatically close resources on exec() calls.
Eina_Bool efl_io_closer_close_on_exec_get(const Eo *obj); Eina_Bool efl_io_closer_close_on_exec_set(Eo *obj, Eina_Bool close_on_exec);
close_on_invalidate (get, set) [Overridden from Efl.Io.Closer]
If true will automatically close() on object invalidate.
Eina_Bool efl_io_closer_close_on_invalidate_get(const Eo *obj); void efl_io_closer_close_on_invalidate_set(Eo *obj, Eina_Bool close_on_invalidate);
closed (get) [Overridden from Efl.Io.Closer]
Eina_Bool efl_io_closer_closed_get(const Eo *obj);
destructor [Overridden from Efl.Object]
Implement this method to provide deinitialization code for your object if you need it.
void efl_destructor(Eo *obj);
Discard the given number of bytes.
void efl_io_queue_discard(Eo *obj, size_t amount);
eos (get, set) protected set
[Overridden from Efl.Io.Reader]
Iftrue
will notify end of stream.
Eina_Bool efl_io_reader_eos_get(const Eo *obj); void efl_io_reader_eos_set(Eo *obj, Eina_Bool is_eos);
Mark this end-of-stream.
void efl_io_queue_eos_mark(Eo *obj);
finalize [Overridden from Efl.Object]
Implement this method to finish the initialization of your object after all (if any) user-provided configuration methods have been executed.
Efl_Object *efl_finalize(Eo *obj);
limit (get, set)
Limit how big the buffer can grow.
size_t efl_io_queue_limit_get(const Eo *obj); void efl_io_queue_limit_set(Eo *obj, size_t size);
Immediately pre-allocate a buffer of at least a given size.
void efl_io_queue_preallocate(Eo *obj, size_t size);
read [Overridden from Efl.Io.Reader]
Reads data into a pre-allocated buffer.
Eina_Error efl_io_reader_read(Eo *obj, Eina_Rw_Slice rw_slice);
slice (get)
Eina_Slice efl_io_queue_slice_get(const Eo *obj);
usage (get)
size_t efl_io_queue_usage_get(const Eo *obj);
write [Overridden from Efl.Io.Writer]
Writes data from a pre-populated buffer.
Eina_Error efl_io_writer_write(Eo *obj, Eina_Slice slice, Eina_Slice *remaining);
Efl.Object | ||
---|---|---|
allow_parent_unref (get, set) | Allow an object to be deleted by unref even if it has a parent. | |
children_iterator_new | Get an iterator on all children. | |
comment (get, set) | A human readable comment for the object. | |
composite_attach | Make an object a composite object of another. | |
composite_detach | Detach a composite object from another object. | |
composite_part_is | Check if an object is part of a composite object. | |
constructor | Implement this method to provide optional initialization code for your object. | |
debug_name_override | Build a read-only name for this object used for debugging. | |
event_callback_forwarder_del | Remove an event callback forwarder for a specified event and object. | |
event_callback_forwarder_priority_add | Add an event callback forwarder that will make this object emit an event whenever another object (source ) emits it. The event is said to be forwarded from source to this object. |
|
event_callback_stop | Stop the current callback call. | |
event_freeze | Freeze events of this object. | |
event_freeze_count (get) | ||
static | event_global_freeze | Globally freeze events for ALL EFL OBJECTS. |
static | event_global_freeze_count (get) | |
static | event_global_thaw | Globally thaw events for ALL EFL OBJECTS. |
event_thaw | Thaw events of object. | |
finalized (get) | ||
invalidate | Implement this method to perform special actions when your object loses its parent, if you need to. | |
invalidated (get) | ||
invalidating (get) | ||
name (get, set) | The name of the object. | |
name_find | Find a child object with the given name and return it. | |
parent (get, set) | The parent of an object. | |
provider_find | Searches upwards in the object tree for a provider which knows the given class/interface. | |
provider_register | Will register a manager of a specific class to be answered by Efl.Object.provider_find. | |
provider_unregister | Will unregister a manager of a specific class that was previously registered and answered by Efl.Object.provider_find. |
The read-slice returned by Efl.Io.Queue.slice may have changed.
EFL_IO_QUEUE_EVENT_SLICE_CHANGED(void)
Efl.Io.Closer | ||
---|---|---|
closed | Notifies closed, when property is marked as true | |
Efl.Io.Reader | ||
can_read,changed | Notifies can_read property changed. | |
eos | Notifies end of stream, when property is marked as true. | |
Efl.Io.Writer | ||
can_write,changed | Notifies can_write property changed. | |
Efl.Object | ||
del | Object is being deleted. See Efl.Object.destructor. | |
destruct | Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any reference you keep to the object. | |
invalidate | Object is being invalidated and losing its parent. See Efl.Object.invalidate. | |
noref | Object has lost its last reference, only parent relationship is keeping it alive. Advanced usage. | |
ownership,shared | Object has acquired a second reference. It has multiple owners now. Triggered whenever increasing the refcount from one to two, it will not trigger by further increasing the refcount beyond two. | |
ownership,unique | Object has lost a reference and only one is left. It has just one owner now. Triggered whenever the refcount goes from two to one. |