summaryrefslogtreecommitdiff
path: root/src/irmd/api_table.c
Commit message (Collapse)AuthorAgeFilesLines
* lib, tools: Rename application process and instanceDimitri Staessens2017-12-021-295/+0
| | | | | | | | | | | This refactors ouroboros to use "program" instead of "application process" and "process" instead of "application process instance" to align with current naming in current Operating Systems courses instead of the ISO nomenclature adopted by RINA. This change permeates through the entire implementation. Also contains some minor other refactors. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
* lib: Cancel tpm threads instead of marking exitdimitri staessens2017-09-301-41/+50
| | | | | | | | | This makes the threadpool use pthread_cancel instead of setting an exit flag that threadpool managed threads check periodically. This drastically reduces CPU consumption in the irmd when running a lot of applications. It requires cancellation handlers in the ipcp and irmd to be implemented to ensure safe cancellation during operation and shutdown.
* build: Revise the build systemdimitri staessens2017-08-211-1/+4
| | | | | | | | | | This revises the build system to have configuration per system component. System settings can now be set using cmake. The standard compliance defines were removed from configuration header and are set in the sources where needed. Also some small code refactors, such as moving the data for shims out of the ipcp structure to the respective shims were performed.
* build: Replace fsf snail mail with contact URLdimitri staessens2017-08-131-1/+1
|
* irmd: Fix unbinding AP and AP-Is from a namedimitri staessens2017-05-091-1/+1
| | | | | | | APs and AP-Is were not removed from the registry entry for that name. Reported by: loic.vervaeke@ugent.be Tested by: loic.vervaeke@ugent.be
* lib, irmd: Implement flow allocation timeoutdimitri staessens2017-04-061-30/+55
| | | | | | Setting the timeouts on flow_alloc and flow_accept will now work. This makes some changes to the UNIX sockets used for management communication between the APs, IRMd and IPCPs.
* lib, irmd, ipcpd: Stabilize flow allocationdimitri staessens2017-04-041-1/+2
|
* irmd: Fix clock used for timedwaitdimitri staessens2017-03-221-1/+1
|
* Merge branch 'be' of bitbucket.org:ouroboros-rina/ouroboros into beSander Vrijders2017-03-211-1/+2
|\
| * Change email addresses to ugent.beSander Vrijders2017-03-031-1/+2
| | | | | | | | | | | | | | Our mailserver was migrated from intec.ugent.be to the central ugent.be emailserver. This PR updates the header files to reflect this change as well. Some header files were also homogenized if the parameters within the functions were badly aligned.
* | irmd: Fix timeouts in reg_entrydimitri staessens2017-03-211-2/+21
|/ | | | | This fixes bad timedwaits for the state of the reg_entry. Also slightly revised timedwaits throughout the prototype.
* irmd: Allow time for AP to call flow_accept()dimitri staessens2017-02-121-8/+7
| | | | | | | | When there is a burst of successive flow allocations for a certain name, each such request will block a thread in the IRMD for IRMD_REQ_ARR_TIMEOUT ms to allow the application some time to respond. This refactors some parts of the IRMd.
* build: Update licenses and copyrightdimitri staessens2017-01-091-1/+1
| | | | | Copyright is set to 2016 - 2017. License text on includes and sources in the library are changed to indicate the LGPLv2.1 license.
* lib: Revise implementation of listdimitri staessens2017-01-091-2/+2
| | | | Adds LGPL license to the ouroboros lists.
* ouroboros: Correct license statementsdimitri staessens2016-12-241-3/+2
| | | | | This corrects the license statements on all files. Installed headers are LGPLv2.1, the rest of the code is GPLv2.
* irmd: Add state checks to api_entrydimitri staessens2016-08-271-1/+9
| | | | Prevents double destruction.
* irmd, lib: Rebuild the IRMd data modeldimitri staessens2016-08-211-37/+153
| | | | | | | | | | | | | | | | | | | | | | The complete data model inside the IRMd has been restructured. The bind operation was revised to allow binding of AP and AP instances and register those names with different DIFs (see "irm bind" for details). Server applications require to call ap_init with a server name argument, client application that do not the be reachable over any DIF can call ap_init(NULL). Calling ap_init for a client with a specified name will not have adverse consequences for the application, but will consume unnecessary resources in the IRMd. Application servers can now be started at any point after the IRMd has been started. Starting servers, binding AP names and registering names in DIFs can be performed in any order that does not defy temporal logic. Supports naming instances by their pid. In case of IPCP Instances created with the IRM tool, the name assigned during "irm ipcp create" can be used. All the changes required updates in the tools.
* lib, irmd: Bind AP instances to AP_subsetsdimitri staessens2016-08-101-0/+115
This call will allow grouping AP instances of a certain AP together which are configured identically. Adds the bind operation to dev and updates the applications to make use of this call. Flow_alloc is now only called with the pid and doesn't send the apn anymore.