View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002742 | GNUnet | transport service | public | 2013-01-23 16:11 | 2013-02-05 21:42 |
| Reporter | Matthias Wachs | Assigned To | Matthias Wachs | ||
| Priority | normal | Severity | feature | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Product Version | Git master | ||||
| Target Version | 0.9.5a | Fixed in Version | 0.9.5a | ||
| Summary | 0002742: Available sockets should be splitted among components | ||||
| Description | When running testbed we can run out of sockets due to: many addresses to validate latency probes ats address changes the number of sockets should be splitted among the plugins and we should have separate validation pool | ||||
| Tags | No tags attached. | ||||
|
|
This is not possible to implement We can say: 1 session == 1 socket (not for inbound not for HTTP) Components involved: transport_validation transport_neighbours plugins ats Reasons: The sessions do not "belong" to a transport_validation or transport_neighbours. They call get_session and the plugin creates a new session or returns an existing session with this address. So we do not know when to increment or decrement the number of sockets currently used. If validation needs to send a ping it calls get_session but is never notified when a session ends, so validation could not decrement the socket_used counter. Neighbours on the other hand can use a session created by validation, so here we would have double counting. Wrap Up: The desired behaviour cannot be implemented without a major change in the code. Ugly and unflexibel, but quick hack: Distribute FDs over plugins and have plugins count the number of FDs ... but then we have a fix distribution of FDs to plugins Better: Have a transport_session component managing the sessions... including counting, timeout and ATS notifications: a lot of work! |
|
|
Implementation: Validation gets an amount of sockets and calculates a validation frequency Transport plugins now obey NEIGHBOUR_LIMIT Plugins checked: TCP, HTTP(S)-client, HTTP(S)-server Not required for: UDP, UNIX, WLAN |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2013-01-23 16:11 | Matthias Wachs | New Issue | |
| 2013-01-23 16:11 | Matthias Wachs | Status | new => assigned |
| 2013-01-23 16:11 | Matthias Wachs | Assigned To | => Matthias Wachs |
| 2013-02-04 14:33 | Matthias Wachs | Note Added: 0006834 | |
| 2013-02-04 17:44 | Matthias Wachs | Note Added: 0006835 | |
| 2013-02-05 09:13 | Matthias Wachs | Note Edited: 0006835 | |
| 2013-02-05 09:14 | Matthias Wachs | Note Edited: 0006835 | |
| 2013-02-05 09:14 | Matthias Wachs | Status | assigned => resolved |
| 2013-02-05 09:14 | Matthias Wachs | Resolution | open => fixed |
| 2013-02-05 12:44 | Christian Grothoff | Product Version | => Git master |
| 2013-02-05 12:44 | Christian Grothoff | Fixed in Version | => 0.10.0 |
| 2013-02-05 12:44 | Christian Grothoff | Target Version | => 0.10.0 |
| 2013-02-05 21:39 | Christian Grothoff | Fixed in Version | 0.10.0 => 0.9.5a |
| 2013-02-05 21:39 | Christian Grothoff | Target Version | 0.10.0 => 0.9.5a |
| 2013-02-05 21:42 | Christian Grothoff | Status | resolved => closed |