View Issue Details

IDProjectCategoryView StatusLast Update
0001937GNUnettransport servicepublic2026-01-25 14:13
ReporterChristian Grothoff Assigned Toschanzen Due Date
PrioritylowSeverityfeatureReproducibilityN/A
Status closedResolutionno change required 
Product VersionGit master 
Target Version0.21.0Fixed in Version0.21.0 
Summary0001937: plugins must queue multiple messages
DescriptionThe 'TransmitFunction' in the current API requires plugins to have "unbounded" queue (or at least queue of size > 2); it might be better to have at MOST one message pending per plugin/target and only send the next one after the continuation was called (or use 'notify_transmit_ready-style API?). Having queues *again* implemented in each plugin is simply ugly.
Additional InformationHTTP/S implements DLL
TagsNo tags attached.

Relationships

related to 0005710 confirmed TNG meta issue 

Activities

Matthias Wachs

2012-05-02 08:45

reporter   ~0005762

Last edited: 2012-05-02 08:45

I checked all transport plugins ... All of them use a DLL to store an unlimited number of messages.

A "'notify_transmit_ready-style API" is a major change to all plugins what can cause a lot of new bugs... ?

Christian Grothoff

2012-05-02 09:01

manager   ~0005763

Well, that's why it is a low-priority issue. However, the point is that by eliminating the need to queue messages in each plugin, we avoid several problems:

* possibly unbounded queues (out-of-memory and other badness)
* functional duplication among plugins
  (queues managed fully by transport service => simpler plugins => fewer bugs)
* easier to write new plugins
* reduced buffer bloat

In any case, there is a reason why this issue was not scheduled for 0.9.3.

schanzen

2023-10-20 14:04

administrator   ~0020601

TNG replaces plugins

schanzen

2024-03-07 19:24

administrator   ~0021777

0.21 released

Issue History

Date ModifiedUsernameFieldChange
2011-11-22 19:01Christian GrothoffNew Issue
2011-11-22 19:01Christian GrothoffStatusnew => assigned
2011-11-22 19:01Christian GrothoffAssigned To => Matthias Wachs
2011-11-22 19:17Christian GrothoffPrioritynormal => low
2011-12-01 09:12Christian GrothoffTarget Version => 0.9.2
2012-01-22 20:12Christian GrothoffTarget Version0.9.2 => 0.9.3
2012-01-26 14:57Matthias WachsStatusassigned => acknowledged
2012-01-26 14:57Matthias WachsAdditional Information Updated
2012-04-01 09:39Christian GrothoffTarget Version0.9.3 => 0.9.4
2012-05-02 08:45Matthias WachsNote Added: 0005762
2012-05-02 08:45Matthias WachsNote Edited: 0005762
2012-05-02 08:46Matthias WachsStatusacknowledged => feedback
2012-05-02 09:01Christian GrothoffNote Added: 0005763
2012-05-02 09:01Christian GrothoffStatusfeedback => assigned
2012-06-22 08:55Christian GrothoffTarget Version0.9.4 => 0.9.5
2012-10-07 12:05Christian GrothoffTarget Version0.9.5 =>
2015-02-11 19:36Christian GrothoffAssigned ToMatthias Wachs =>
2015-02-11 19:36Christian GrothoffStatusassigned => confirmed
2019-05-02 12:44Christian GrothoffRelationship addedrelated to 0005710
2020-08-14 10:01schanzenTag Attached: tng
2020-10-29 09:09schanzenTarget Version => 0.15.0
2021-06-10 17:36schanzenTarget Version0.15.0 => 0.16.0
2021-12-31 08:29schanzenTarget Version0.16.0 => 0.17.0
2021-12-31 08:32schanzenTarget Version0.17.0 => 1.0.0
2023-10-20 14:04schanzenTarget Version1.0.0 => 0.21.0
2023-10-20 14:04schanzenAssigned To => schanzen
2023-10-20 14:04schanzenStatusconfirmed => resolved
2023-10-20 14:04schanzenResolutionopen => no change required
2023-10-20 14:04schanzenNote Added: 0020601
2024-03-05 15:28schanzenFixed in Version => 0.21.0
2024-03-07 19:24schanzenNote Added: 0021777
2024-03-07 19:24schanzenStatusresolved => closed
2026-01-25 14:13Christian GrothoffTag Detached: tng