View Issue Details

IDProjectCategoryView StatusLast Update
0001937GNUnettransport servicepublic2024-03-07 20:24
ReporterChristian Grothoff Assigned Toschanzen  
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
Tagstng

Relationships

related to 0005710 confirmed TNG meta issue 

Activities

Matthias Wachs

2012-05-02 10:45

manager   ~0005762

Last edited: 2012-05-02 10: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 11: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 16:04

administrator   ~0020601

TNG replaces plugins

schanzen

2024-03-07 20:24

administrator   ~0021777

0.21 released

Issue History

Date Modified Username Field Change
2011-11-22 20:01 Christian Grothoff New Issue
2011-11-22 20:01 Christian Grothoff Status new => assigned
2011-11-22 20:01 Christian Grothoff Assigned To => Matthias Wachs
2011-11-22 20:17 Christian Grothoff Priority normal => low
2011-12-01 10:12 Christian Grothoff Target Version => 0.9.2
2012-01-22 21:12 Christian Grothoff Target Version 0.9.2 => 0.9.3
2012-01-26 15:57 Matthias Wachs Status assigned => acknowledged
2012-01-26 15:57 Matthias Wachs Additional Information Updated
2012-04-01 11:39 Christian Grothoff Target Version 0.9.3 => 0.9.4
2012-05-02 10:45 Matthias Wachs Note Added: 0005762
2012-05-02 10:45 Matthias Wachs Note Edited: 0005762
2012-05-02 10:46 Matthias Wachs Status acknowledged => feedback
2012-05-02 11:01 Christian Grothoff Note Added: 0005763
2012-05-02 11:01 Christian Grothoff Status feedback => assigned
2012-06-22 10:55 Christian Grothoff Target Version 0.9.4 => 0.9.5
2012-10-07 14:05 Christian Grothoff Target Version 0.9.5 =>
2015-02-11 20:36 Christian Grothoff Assigned To Matthias Wachs =>
2015-02-11 20:36 Christian Grothoff Status assigned => confirmed
2019-05-02 14:44 Christian Grothoff Relationship added related to 0005710
2020-08-14 12:01 schanzen Tag Attached: tng
2020-10-29 10:09 schanzen Target Version => 0.15.0
2021-06-10 19:36 schanzen Target Version 0.15.0 => 0.16.0
2021-12-31 09:29 schanzen Target Version 0.16.0 => 0.17.0
2021-12-31 09:32 schanzen Target Version 0.17.0 => 1.0.0
2023-10-20 16:04 schanzen Target Version 1.0.0 => 0.21.0
2023-10-20 16:04 schanzen Assigned To => schanzen
2023-10-20 16:04 schanzen Status confirmed => resolved
2023-10-20 16:04 schanzen Resolution open => no change required
2023-10-20 16:04 schanzen Note Added: 0020601
2024-03-05 16:28 schanzen Fixed in Version => 0.21.0
2024-03-07 20:24 schanzen Note Added: 0021777
2024-03-07 20:24 schanzen Status resolved => closed