View Issue Details

IDProjectCategoryView StatusLast Update
0005385GNUnetcadet servicepublic2019-02-28 11:17
ReporterChristian Grothoff Assigned ToChristian Grothoff  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product VersionGit master 
Target Version0.11.0Fixed in Version0.11.0 
Summary0005385: gnunet_cadet_service.h monitoring functions use bad API
DescriptionWe 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 InformationThis 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.
TagsNo tags attached.

Activities

Christian Grothoff

2019-01-26 20:51

manager   ~0013473

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.

Christian Grothoff

2019-01-27 04:30

manager   ~0013474

1c9f269ea5cadb20bb5f7fc209274ba5d6af4749 concludes the implementation work for the new API, more testing required though...

Christian Grothoff

2019-01-27 16:37

manager   ~0013483

Tested, works.

Issue History

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