Hypertransferring feature suggestion

Issues and ideas about I2PSnark
Post Reply
User avatar
m7A5uS9
Posts: 5
Joined: 05 May 2024 13:38

Hypertransferring feature suggestion

Post by m7A5uS9 »

Background:
In i2p a single connection is served by a single client tunnel thus limiting speed of a connection to a speed of a tunnel. And speed of a tunnel is somewhat slow affected by many factors.
As in I2PSnark one peer establish only one connection to a another one peer, this situation negatively affects speeds of initial torrent seeding and torrents with few seeders.

Synopsis:
I suggest a feature for I2PSnark allowing it to establish multiple connections, served by different client tunnels, to a single peer. Thus enhancing resulting data transferring speed between two individual peers by utilizing speeds of a multiple tunnels.
Connecting to different peers have prioritait over this feature.

Initial conception:
Availability of this feature on peer revealed during establishing first connection or later on demand.
Usage of this feature decided and adjusted by peers based on swarm size and their I2PSnark tunnels quantities settings.
Deciding about use of this feature starts after getting peer list from tracker or after first PEX in trackerless torrents.
When swarm size exceeds inbound quantity, leecher initially attempts to fill their connections with different seeders.
If not successed or swarm size is short leecher asks connected compatible seeder for this feature informing number of connections they wish. Total number equals inbound quantity minus established connections and is distributed among multiple seeders.
Seeder responds with number of connections they can provide based on their outbound quantity and established connections.
Least number have to be chosen.
Number update can be initiated by either leecher or seeder based on their connections change.
Different pieces of a torrent content transferred simultaneously through number of a different connections between one seeder and one leecher.

Related changes:
I suggest raising max of inbound and outbound tunnel quantities in I2PSnark settings to 16.
Post Reply