Age | Commit message (Collapse) | Author | Files | Lines |
|
When API have mutual dependencies, leading to
loops in dependecies, broadcasting an event
never ends because of the loop (see SPEC-2625).
To avoid that weird flood of events, a unic
identifier (UUID) is attached to broadcasted
event and a tiny memory records previously
broadcasted events to avoid re-sending an
already sent event.
The size of the memory can be set using the
macro variable EVENT_BROADCAST_MEMORY_COUNT
whose default value is 8. It can be reduced
to 0.
An other mecanism is added to limit the count
of hops that a broadcasted event can do. That
count can be set using the macro variable
EVENT_BROADCAST_HOP_MAX whose default value
is 10.
Bug-AGL: SPEC-2625
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Change-Id: I45877583dbf478a79d405c3650880a5579ac1f9e
|
|
The internal functions blocking threads
for implementing call_sync were not releasing
the event loop, leading to deafness of the
binder.
Include a tuto-4 that reproduce the issue
on a binder with the bug and that also shows
interesting usages of the binder.
Bug-AGL: SPEC-2161
Change-Id: I83ad4d55d721a6046e798a5e06967df4dd5a7284
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The variable 'calling' was not used anymore.
Change-Id: I3a041cee57b2682374084003415d13a77a554fba
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The verb 'after' launches a new thread
that after a delay will call a verb (like
call). The type of call can be set to 'call',
'callsync', 'subcall' or 'subcallsync'.
This allows to add test for asynchronous issues
in multithreaded environment.
Change-Id: Ic59a27b7b7fbd3716d34fdaa35c42aa9ecb7f201
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The count of samples was too large and with
duplications. Hopefuly, removing duplications
and adding a tiny README file lowers fuzzy.
Change-Id: I55ed8f40a4f1e6e28e2a36f2819e25505246ecdd
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Latest versions of libraries used doesn't
define TRUE. This fix it by using 1 instead.
Change-Id: I17db5ca34aeceab96c83143f49094fbaca74a95a
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
This enable a binding version 3 to declare
no API. This is used to start a job that will
will run after initialisation.
The tutorial tuto-app1 shows how. Run it with:
afb-daemon --binding tuto-app1.so
A further option could be add to close stdin
even if running in foreground, as it was the
case before.
Change-Id: I2b384d125accb4642eed8e004642ba959326878f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The verb mutebug returns without answering
but increment the reference count of the request.
This has 2 weird effects:
- on the service, it creates a memory leak
- on the client, it creates a starve of answer
Both effects are intended to test further improvements
of the binder.
Change-Id: I76ebe0dff1b42a8a72e1b3536857d1d1811452c1
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Iab93a26340fa9743a58ca43cd903bbf31c783e5b
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ifba67b4b83650f9b32f78d077d0bbd3d3882238b
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The test now raise an overall coverage rate:
lines......: 75.4% (8356 of 11080 lines)
functions..: 80.4% (1094 of 1360 functions)
Also Improve the documentation and improve parts of code.
Change-Id: Ic2b8bc2f85d4181aa0b358a953f95cb105a0eed9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
coverage values:
- lines: 70.5 %
- functions: 76.3 %
Change-Id: Iaf802e84bbfa57502bbbac8c3b567b14c01608b6
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Needed for test of bindings v2.
Change-Id: I33f8b497428bf03f8f80ad26bcdec773d269f41d
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The request was released without any need.
It came from migration from v2 to v3.
Change-Id: If2558ca247f0db912ce5705fa1fd98f3771dcb1f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Add the following verb for testing purpose:
- close: close the session
- set-loa: set the LOA of the session
- setctx: set the contextual data of a session
- setctxif: set the contextual data of a session if not already set
- getctx: get the contextual data of a session
- info: returns the info of the session
Change-Id: Ie2ceb897ecdff01f6efd0a3b174b5794913726d9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The documentation is improved to reflect the new version.
Tune the options
Change-Id: I894c3db3bc0c10e89db66a9a51a9ad049bb8c0c4
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The library json-c now returns size_t instead of
int when querying length of arrays.
Change-Id: Id52bb8e77da12cb01e61e1a7c7f4ae2fcbe4634e
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This commit introduces the bindings v3 API for bindings.
The documentation has still to be improved and will come
very soon.
Change-Id: I8f9007370e29f671fdfd1da87fff7372a17db7af
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: If9d7e7728df086fbb7214f1de5cbec35cd2f1d9b
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The option ALLOW_NO_BINDER is removed and the option
ONLY_DEVTOOLS is introduced.
Change-Id: Ia19eb977ee25a3871582605028fdef75e552363f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
When missing components are detected, allows to not compile
the binder if ALLOW_NO_BINDER is ON
Change-Id: I0fb27844e3f36d4dd643bdf250f05b4f6769bc53
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ia108b23b9480bb32f27127ef00c18086fcf86752
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I6ca079fa84547928f999e07d1925202a1e14850f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I9caf38ee3811cf10b546489094f0bb5b3d844c40
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I6144b0ab21418dc98792f0eeef695f3df0fc11d3
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Also demonstrate the mix of api v2 with dynapi.
Change-Id: I95e8d32ac836590ce3f7b3f0b5f29e5574808976
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Activates the new internal interfaces
Change-Id: I8f51cd271f66a0216ffdf03626300bb5964a70f9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The function is now replaced by the function afb_event_unref.
In the same time, the function afb_event_addref is made available.
Change-Id: I9aa30e80e64e82f3b16ab359982337771b287185
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I05e104e4733d071949723073d32b21c22089ecdf
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This function is intended to return an identifier of the
calling application. At this time, the identifier is
just derived from the application id but it can be
changed in the future.
Change-Id: Idacde8979ac5bb525352de9cab19e3fc1ed48627
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This new verb is available in bindings to check
whether the client identified by a request has
a given permission or not.
Change-Id: I5eaa0892d8260d26bd76f37123251c103c981e10
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The function 'afb_req_subcall_req' can be used to make asynchronous
subcalls. It improves the function 'afb_req_subcall' by automatically
keeping the request opened for the callback and by passing it, the
request, as an extra argument of the callback.
Change-Id: I2dc79c01fc25c7a65b9c8cc9e001a5b85fba99df
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Make all error status for bindings use
a common convention: a negative value
means an error.
Change-Id: Id09610051295810f04f00477d7ec1d9771bf7975
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This might break many codes but it is better in the long term.
Change-Id: I346d13f0a6ef6b211edf25844489405351548299
|
|
CAUTION, this breaks binary compatibility
Change-Id: I67acfffe1f04cdddee0ad1230b227b080da1ab06
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
|
|
Change-Id: I761bca13f98f9bc9557725ed97979218d79fcbb2
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: If5fe736e04c9f4298302c3cbba568f1d6346ee67
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ia261e2d9efce399b210f834c1acb679215021edd
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Idb71c3ae869046f568166d239cf5addd31d42c6f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I6dda714bcb8c36392c14a1981cfb8960f3db45b8
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ic39d2c025af257703340d1c8f56746b2e27d3818
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This new function allows to call features for the
services synchronously.
Also refactoring how are handled arguments to
calls. The call to 'json_object_put' is now always
done by the binder.
Change-Id: I910517da75b179aeafc824da4ce29bc299711990
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I34df971e9182fbab13d590e8390d6fe6af5d0f51
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I5895fa14fcb496e71fba600994e7e454cf1d110b
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Id47b417f6e5f8bf2322b1de7ed12579de711160f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Handling of event was not compatible with
multi threaded. This implmentation solves
this by protecting event access with mutexes.
Change-Id: Ie52216289000f1ae6352c9dda442dfbda1ebe850
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
For the future, having only one piece of code
to handle daemon interface to bindings is an
improvement.
Change-Id: I806c424eb1a82637d27bc84b921612789907d971
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Synchronous subcalls are more easy for
writing simple applications with sequential
logic.
Change-Id: I76a0231a64a6db8270014cd2a64284e1b0fc16ec
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The common code for session handling is
shared using struct afb_xreq. At the moment
only hreq leverages the new feature.
The objective is double: make the work of
writing new internal requests more easy and
prepare to check permissions.
Change-Id: If3ca311d68c2d8c427d1125f31a2704b150c2c94
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|