summaryrefslogtreecommitdiff
path: root/src/lib/cdap_req.c
Commit message (Collapse)AuthorAgeFilesLines
* ipcpd: Revise internals of normal IPCPdimitri staessens2017-09-121-208/+0
| | | | | | | | This removes the RIB as a datastructure and CDAP as the protocol between IPCPs. CDAP, the rib and related sources are deprecated. The link-state protocol policy is udpated to use its own protocol based on a simple broadcast strategy along a tree. The neighbors struct is deprecated and moved to the library as a generic notifier component.
* 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-2/+1
|
* lib: Handle errors when creating cdap_req structsdimitri staessens2017-07-041-2/+13
|
* lib, irmd: Handle case fallthrough in gcc 7dimitri staessens2017-06-041-0/+1
|
* lib: Fix use-after-free when destroying cdap_reqdimitri staessens2017-03-311-1/+5
|
* lib: Cancel outstanding CDAP requests on destroydimitri staessens2017-03-311-0/+13
|
* lib: Revise handling CDAP messagesdimitri staessens2017-03-291-2/+4
| | | | | | | | | | | | | Fixes a number of issues in CDAP. CDAP keeps track if a message is being processed, and moves it to the end of the request list if it is. It will now correctly wait for new messages. The invoke_ids are generated locally per CDAP instance, invoke_ids can't be used to track incoming requests, we need to keep track of the fd. The keys are now identifiers (taken from the same local pool as the invoke_ids) that are used to track requests.
* lib: Manage multiple flows with a single CDAP instancedimitri staessens2017-03-031-4/+5
| | | | | | | | You can now add multiple flows to a CDAP instance. This will simplify sending messages to different peers (e.g. for syncing the RIB). A request will now return an array of keys terminated by CDAP_KEY_INVALID. Removes the enum from the CDAP proto file to just take the opcode as an integer.
* Change email addresses to ugent.beSander Vrijders2017-03-031-2/+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.
* lib: Set cdap_req state to REQ_NULL after timeoutdimitri staessens2017-02-181-12/+20
| | | | | This prevented destruction of a CDAP instance that had a timed out request.
* lib: Handle receiving CDAP reply before waitdimitri staessens2017-02-041-1/+9
| | | | | | In extreme cases, the response to a CDAP request can arrive before the AE doing the request has called cdap_request_wait. This PR handles it by waiting for the state to move away from INIT before responding.
* build: Update licenses and copyrightdimitri staessens2017-01-091-10/+11
| | | | | 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-1/+1
| | | | Adds LGPL license to the ouroboros lists.
* lib: Fix race in destruction of cdap_reqdimitri staessens2016-12-281-9/+16
| | | | | If cdap_req_destroy was called while in REQ_DONE, cdap->state would be accessed in cdap_req_respond.
* 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.
* ipcpd, lib: Refactor normal ipcp and cdapdimitri staessens2016-12-241-0/+151
Refactors the normal IPCP fmgr and ribmgr, and modifies the API for cdap so that no callbacks are needed.