View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005385 | GNUnet | cadet service | public | 2018-07-03 14:09 | 2019-02-28 11:17 |
Reporter | Christian Grothoff | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Platform | i7 | OS | Debian GNU/Linux | OS Version | squeeze |
Product Version | Git master | ||||
Target Version | 0.11.0 | Fixed in Version | 0.11.0 | ||
Summary | 0005385: gnunet_cadet_service.h monitoring functions use bad API | ||||
Description | We should have a proper asynchronous API with _cancel_ functions and separate (!) handles and separate (!) unix domain sockets/message queues for _each_ monitoring operation. Basically, functions like CADET_get_tunnel() should take a CFG object and return a handle, and have a CADET_get_tunnel_cancel() (which just destroys the MQ). This design change applies to get_tunnels, get_tunnel(), get_peers(), request_dump(), and if possible also to get_channel() -- but here we need to fix the need for the channel_number which AFAIK is CADET_Handle-specific. Maybe something where we iterate over all channels to a particular peer? Also, the CADET_ChannelCB should likely be modified to not pass a bunch of arguments (root, dest, 4x uint32_) but instead _one_ 'const struct ChannelInfo' that contains all of these arguments as fields (more extensible!). | ||||
Additional Information | This should be prioritized as good monitoring will help diagnose the other issues. Things like # pending messages (flow control) for better understanding 0005370 might also be added. | ||||
Tags | No tags attached. | ||||
|
a5a54c510..7fc78674a starts with the re-design in earnest, removing the old logic from gnunet-cadet and libgnunetcadet. Leftovers that will likely be useful are in the cadet_api_*.c files. Note that the new API is hardly final, for now only the worst design flaws of the old one were corrected in the header. |
|
1c9f269ea5cadb20bb5f7fc209274ba5d6af4749 concludes the implementation work for the new API, more testing required though... |
|
Tested, works. |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-07-03 14:09 | Christian Grothoff | New Issue | |
2018-07-03 14:09 | Christian Grothoff | Status | new => assigned |
2018-07-03 14:09 | Christian Grothoff | Assigned To | => Bart Polot |
2018-07-07 00:26 | Christian Grothoff | Target Version | => 0.11.0 |
2019-01-26 06:11 | Christian Grothoff | Assigned To | Bart Polot => Christian Grothoff |
2019-01-26 20:51 | Christian Grothoff | Note Added: 0013473 | |
2019-01-27 04:30 | Christian Grothoff | Note Added: 0013474 | |
2019-01-27 16:37 | Christian Grothoff | Status | assigned => resolved |
2019-01-27 16:37 | Christian Grothoff | Resolution | open => fixed |
2019-01-27 16:37 | Christian Grothoff | Fixed in Version | => 0.11.0 |
2019-01-27 16:37 | Christian Grothoff | Note Added: 0013483 | |
2019-02-28 11:17 | Christian Grothoff | Status | resolved => closed |