path: root/src/lib/ecore/efl_io_buffered_stream.c (follow)
AgeCommit message (Collapse)Author
2019-03-19efl_io_*: apply new event calling conventionMike Blumenkrantz
Summary: ref T7758 Depends on D8409 Reviewers: cedric, zmike, segfaultxavi Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7758 Differential Revision:
2019-02-22api: add bool data to 'changed' eventsMike Blumenkrantz
Summary: changed events should always be triggered with the accompanying changed data to reduce function calls ref T7600, T7599 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7600, T7599 Differential Revision:
2019-01-17Make Efl.Ui.Closer an interface instead of mixinXavi Artigas
Summary: It is a mixin only because of the setter method for the "closed" property, otherwise, it would be a pure interface. Nobody is setting that property, so let's just remove the setter (leaving only the getter) and make this class an interface. This should clear the scenario for languages currently having issues with mixins (like C#). Related to T7601. Test Plan: Nothing changes. Make check and examples still work. Reviewers: zmike, bu5hm4n, cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-05-24ecore: force close during invalidate of Efl.Io.Buffered_Stream.Cedric BAIL
Differential Revision:
2018-05-01ecore: move close_on_destructor to close_on_invalidate as that describe the ↵Cedric BAIL
behavior best. Fix all use to correctly behave on invalidate.
2018-05-01ecore: apply the same rules as set on the inner_io on the read and write pipe.Cedric BAIL
2018-05-01ecore: when relying on parent relationship for lifecycle, we should not use ↵Cedric BAIL
efl_del in the destructor.
2018-04-17eolian gen: enable constness generation on property getter implsDaniel Kolesa
This changes a lot of things all across the EFL. Previously, methods tagged @const had both their external prototype and internal impl generated with const on object, while property getters only had const on the external API. This is now changed and it all has const everywhere. Ref T6859.
2017-02-11efl io - fix using wrong type for return values pointed toCarsten Haitzler (Rasterman)
this potentially could be a bug on 32bit systems. this fixes that and addresses the warning that pointed it out
2016-12-20efl_io_buffered_stream: eos-mark and flush sender on close.Gustavo Sverzut Barbieri
By marking EOS on the outgoing queue we allow the sender to flush pending data if that's possible. This also fixes a typo in the condition for eos_mark, it operates on outgoing, not incoming queue.
2016-12-20efl_io_buffered_stream: if there is a copier, check if it's done.Gustavo Sverzut Barbieri
Before we're exiting if there was nothing pending, but in some cases this was too aggressive as the copier's source may be alive (ie: not-EOS), however nothing was read to its internal buffer, thus no pending. Since the copier will track its source's EOS, just check if it's done.
2016-12-19more eo simplified to use Eina_Slice instead of pointer to.Gustavo Sverzut Barbieri
Working directly with Eina_Slice is easier than a pointer to it, requires no validation of the pointers and is cheap since it's just putting together size_t + void*. However we can't hint the user of 'const(Eina.Slice)' properties as Eolian is incorrectly generating getters as: const Eina_Slice class_property_get(...) which is makes compilers complain about ignored qualifiers: ../src/lib/ecore/efl_io_copier.eo.h:329:7: warning: 'const' type qualifier on return type has no effect [-Wignored-qualifiers] Leave some TODO so @q66 can fix those.
2016-12-19Efl.Io.{Queue,Buffer,Buffered_Stream}: slice_get is now a property.Gustavo Sverzut Barbieri
Previously we couldn't return a slice, instead required the user to pass a slice and we'd fill it since Eolian couldn't generate fallbacks for structures. Since @q66 fixed eolian, we can now return the structure itself as initially wanted, ditching some TODO from the code.
2016-12-12yoda-style inactivity timeout.Gustavo Sverzut Barbieri
s/inactivity_timeout/timeout_inactivity/g so it matches the EFL names with scope first, like timeout_connect, etc.
2016-12-09efl_io_buffered_stream: del inner_io if we're the parent.Gustavo Sverzut Barbieri
This is a nice convenience if inner_io was reparented to the wrapper.
2016-12-08efl_io_buffered_stream: better detection of 'finished' state.Gustavo Sverzut Barbieri
When used with sockets, if it's EOS (ie: remote peer terminated the connection), but not closed, then it would not emit 'finished' event. Now it does.
2016-12-08efl_io_buffered_stream: property and event 'progress'Gustavo Sverzut Barbieri
useful to get feedback on when data was actually sent/received, and how much.
2016-11-25efl_io_buffered_stream: wraps an I/O object and make it easy to use.Gustavo Sverzut Barbieri
Since all other objects are low-level, the recommended approach is to use an However when dealing with in-memory, bi-directional comms like talking to a socket, we always end with 2 queues, 2 copiers and the annoying setup that is being replicated in ecore_ipc, efl_debug and so on. This class is the base to make it simpler. Other classes such as Efl.Net.Socket.Simple, Efl.Net.Dialer.Simple and Efl.Net.Server.Simple will use it to provide simpler code to users. I guess we can call EFL+EO Java now?