summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-12-01jobs: Fix locks in event loopsJosé Bollo1-11/+17
Change-Id: Ie07a9bc4f930a0ecd2102a94e7f5f7b0daa705ef Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-30jobs: Fix possible race conditionJosé Bollo1-2/+4
Sending the signal while not being sure that is is expected could be a race condition. Taking the mutex avoids it. In the same time, switch to broadcasting. Change-Id: I3f43d0d860cccc61ec140ceef223f572f806872c Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-29afb-config: Check environment variablesJosé Bollo1-0/+35
The following environment variables allows several setting by the environment: * AFB_TRACEREQ, AFB_TRACEDITF, AFB_TRACESVC, AFB_TRACEEVT These variables allows setting of options --tracereq, --traceditf, --tracesvc, --traceevt * AFB_LDPATHS Set the option --ldpaths Change-Id: I22700c658ce3fa1ceb15eab8f67adaaf41627b8f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-29jobs: rewrite of the event loop handlingJosé Bollo1-106/+108
This new version use an eventfd to unlock the event loop when needed. This reduce the count of sd_event needed. Bug-AGL: SPEC-1091 Change-Id: I9bc273e89ab1a70ccc2187c2571e68c9c771ee25 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-29afb-ws & websocket: Fix writing very long dataJosé Bollo3-21/+47
This version loops to write very long data on websockets. Bug-AGL: SPEC-1091 Change-Id: I8f17e75e4ef483be29fa8cae2c0af159783ec2c6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-20CMAKE: refactor optionseel_4.99.3eel/4.99.34.99.3José Bollo6-18/+3
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>
2017-11-20Merge "Fix build for native package"José Bollo1-3/+5
2017-11-20Fix build for native packageRonan Le Martret1-3/+5
* If the package is natively compile, the gcc used is the host gcc, and host gcc version must be >4.9. This is unneeded for the mode ALLOW_NO_BINDER (like in native). Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2017-11-17fix build errorJosé Bollo1-1/+1
Change-Id: I6ff16055597d36290f50b40d6dfe960aea691652 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-17afb-proto-ws: Fix autolock in proto-wsJosé Bollo4-50/+249
Because a systemd event loop can not be reentered while evaluating an event callback, the event loop was removed from the threads. It had the effect to enter in deadlock when calling a synchronous call while in an event callback. Queueing a job solves the issue. But because using queued job has implications on libafbws, a fake job manager is added for libafbws. Change-Id: Id793bea55743790082eaab48cd4cc87f7993772a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-17CMAKE: allow to compile afb-genskel onlyJosé Bollo1-1/+8
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>
2017-11-13afb-export: Ensure monitoring of eventsJosé Bollo2-1/+2
Change-Id: Id82c624f695a229023447c16652bcc912b6d6fed Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-11afb-proto-ws: fix self locking issueJosé Bollo1-29/+82
Calling synchronously a verb on an event of the same API was blocking. Change-Id: I58a988c6df8c60cd3a38c3cdff23d7be8b6be54e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-07afb-stub-ws: autoclose session on disconnectionJosé Bollo3-1/+12
Change-Id: If46ca2fa34a080b7087edb4e0da109c5ee85b14f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-07afb-stub-ws: manage closed sessionsJosé Bollo3-47/+76
Change-Id: I16620f12719c222c0da03caf330a865149fe9051 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-07afb-session: improve namingJosé Bollo1-12/+12
Change-Id: I6692f9089be355995d5caf979f4344ed3b8337a7 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-07afb-stub-ws: Track sessions for releasing itJosé Bollo1-0/+47
Change-Id: If0ff0f491e0fd8267137aa742d7acbe0157f88ad Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: Improve readabilityJosé Bollo1-28/+34
Change-Id: I4035a59d125e0768b0366c3dc5e7509e416ab9c6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: fix reference countingJosé Bollo2-7/+21
Change-Id: If36c9210f0982ba35299de52f0c8fd96e7c836e2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: optimizationJosé Bollo1-104/+103
Change-Id: Ic3b0ec8e7bcbf21f7ae3a9f2b1a5719118a7912d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: add commentsJosé Bollo1-19/+64
Change-Id: I88026384d3f5e98659fba2bb774e41e931d45f51 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: remove unused access timeJosé Bollo1-3/+0
Change-Id: I1e8ca2adfec5bf7df5a7da02e6d093ae099ec9a3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: Add timeout features for sessionsJosé Bollo4-13/+24
Change-Id: I0aa8a82c0bbf709aa380ef7e5efe2e4ebaf454c0 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: add function afb_session_searchJosé Bollo3-11/+29
Also the function afb_session_get always create a session even if 'created' is NULL Change-Id: Ia5ac1231e1d61e92cb9bbc07c968e3000d6864ff Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-trace: improve and simplify session managementJosé Bollo1-70/+37
Change-Id: I828e0498bc68c9f1d1635a886e0a93fcb2d2389c Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: improves comments and namesJosé Bollo1-3/+6
Change-Id: I05850b05dc6747563ef38800821bfcaf5c45b5d0 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: redefine the function 'afb_session_create'José Bollo4-13/+7
Change-Id: Ib8a66af30ea2438248adb66c9a95ac82663ec223 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: rewrite of cookie handlingJosé Bollo1-69/+34
Change-Id: I9852c1e2a211f79f25c7f32e9ac93acf7c5e6968 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-03Add 'noconcurrency' when creating dynamic APIeel_4.99.2eel/4.99.24.99.2José Bollo3-4/+7
Change-Id: Ia108b23b9480bb32f27127ef00c18086fcf86752 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-03afb-proto-ws: Fix unclosed file descriptorJosé Bollo1-0/+1
Change-Id: I3c831b4f803e283fc692fef66621a798a5e9296e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-03jobs: Improve event loop integrationJosé Bollo1-58/+64
The previous implmentation was buggy. This changes make the event loop a thread global variable. A thread now refuses to run an event loop if it is in dispatching state. Change-Id: Ic29792b87c1cae201958feb96d93678f6d37ac8d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-01verbose: Ensure mutual exclusion when loggingJosé Bollo1-0/+5
Change-Id: I3ccc2ba35ee8db3d62eb229c736e65b2305184e3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-23websocket: Add function that explain error codesJosé Bollo2-0/+23
Change-Id: I500520edac6792013650fa3cb0e02d0b9f5610d5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-23websocket: cleanupJosé Bollo1-1/+0
Change-Id: I772e441f1b93131df670ef3fbef3a37e2a2c00f1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-23websocket: Tune maximum received lengthJosé Bollo2-1/+18
This commit increase the count of data that is accepted by default from 65,000 to 1,048,500. It also offers new functions to tune that value. Change-Id: Iecf0b8c308e8287582819a8769859c39e46919c2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-23afb-api-dyn: Uniform return 0 on successJosé Bollo1-1/+1
Change-Id: I6ca079fa84547928f999e07d1925202a1e14850f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-16afb-api-so: improve error messagesJosé Bollo1-1/+1
Change-Id: I3bbf11890800a8b05c9cfaa8bd10b50a0b22c245 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-12afb-stub-ws: Always validate clients of stub-wsJosé Bollo1-0/+1
Change-Id: I2c020d586e6f22e47dac8ddb50c8ee9ca9c46b2e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-11libafbwsc: add function 'afb_ws_client_connect_api'José Bollo5-33/+335
This function allows to connect to an API exported by the binder. The demo program afb-client-demo is modified to integrate on option that direct API connection. Example: server: afb-daemon --ws-server unix:hello client: afb-client-demo -d -H unix:hello Change-Id: Id9f857a453c406df1c4b36eb25fb5e833a938c3d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-11afb-proto-ws: remove dependenciesJosé Bollo3-22/+13
Remove dependencies to verbose and to afb-common. Change-Id: I140f2cd7c159e9be994ab7b786a164d605d1b1dc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-10Add the function afb_req_get_uidJosé Bollo4-3/+42
Change-Id: I9caf38ee3811cf10b546489094f0bb5b3d844c40 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09afb-api-dbus: Make error for subcalls if DBUS transportJosé Bollo1-1/+15
The DBUS API actually doesn't support the subcall feature. Until the subcall is implemented, it is better to emit an error than to fall back to the default behaviour (calling in the context of the service). Change-Id: Ibf5f3524995692a509d2d648d61e9ed0f874d7c1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09cosmeticJosé Bollo1-1/+6
Change-Id: I628829b3a360897434a32b2fd0992f697f954f4d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09Add function afb_evt_eventid_addrefJosé Bollo2-0/+10
Change-Id: I737f3ceaa41b5ec9a200a615dbc29965ed11c17c Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09Improve naming of evt_eventidsJosé Bollo8-60/+60
Change-Id: I1fa3cf776110f67ad1b18c4c83f3a1707692ae8b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09Provide API and VERB name of requestsJosé Bollo13-40/+40
Change-Id: I9a86c6314f871334231e50f9cea60b54aed434b9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09Provide the name of the APIJosé Bollo1-0/+2
Change-Id: I5b4e4b40385830d1b8921d079f5e7e732ec4247f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09Add a closure argument to dynamic verbsJosé Bollo3-4/+14
Also demonstrate the mix of api v2 with dynapi. Change-Id: I95e8d32ac836590ce3f7b3f0b5f29e5574808976 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09Allow pure dynamic bindingsJosé Bollo4-0/+98
Activates the new internal interfaces Change-Id: I8f51cd271f66a0216ffdf03626300bb5964a70f9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-10-09Allow dynamic creation of APIsJosé Bollo7-33/+809
Change-Id: I825bfa7969c98dd214457d9ff94e2948362286a9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>