Comments (4)
do you intend to issue a pull request for this patch? it looks reasonable as far as I can tell
from libtorrent.
I was planning to test this and that before submitting a pull request. Hence I called the branch work in progress to solicit comments. I'm not sure if the patch is enough. Eventually, I'd clean it up for a pull request. If you'd rather prefer a few shorter pull request, I'll do that.
There are quite a few (~3) assertions that still fail, e.g.
- deletion of a peer that failed to handshake on time (on second_tick) fails
TORRENT_ASSERT(p->in_use); @ peer_list::connection_closed
http_connection::on_connect
often fails with m_connecting being false. Missing assignment at the end ofhttp_connection::on_i2p_resolve
?TORRENT_ASSERT(pp->prev_amount_upload == 0);
intorrent::remove_peer
.I'm not sure yet when this happens.
Also I'm somewhat puzzled as how to reestablish connection, e.g. when i2p router died. It doesn't look like there is a provision to reestablish SAM connection.
from libtorrent.
one pull requests is fine. either way
from libtorrent.
as for number 3, when a peer connects, it takes the upload/download stats from the torrent_peer object and stores it in the peer_connection. It's supposed to set the fields in torrent_peer to 0 when it does this. Then as it uploads and downloads more bytes it increments those counters in peer_connection. When it disconnects, it puts back the stats. If the counters in torrent_peer are non-zero, that implies that either some other peer_connection was connected as the same peer, or it got disconnected so quickly after connecting that it never had time to zero those counters out (and perhaps not pick up the stats either)
from libtorrent.
Related Issues (20)
- Partial downloads misbehave in POSIX-compliant mode
- Wrong port is announced to tracker
- please delete
- Python script deadlocked when threads call get_torrent_status HOT 3
- .parts file not removed or shrunk when priority increased from 0 so pieces are copied out HOT 2
- libtorrent does not handle case sensitive torrents HOT 10
- 2.0.10 . Please tag to resolve the blocklist of lt2. HOT 4
- libtorrent 2.0.10 - Unit tests / test_flags fails on FreeBSD 14.0-RELEASE HOT 2
- Update mainsite with new html files HOT 1
- [New feature] Compression support (BEP56)
- Reading a piece using set_piece_deadline fails because it's not finished yet HOT 2
- changing power plan drastically reduces download speed HOT 6
- eventfd_select_interrupter: No file descriptors available [system:24] HOT 19
- allow_multiple_connections_per_ip - global or per torrent? Can you allow per torrent limit? HOT 2
- Errors when compiling libtorrent-rasterbar-2.0.10 HOT 2
- Overflow of m_num_pad_bytes HOT 2
- Python wheels for 3.12 HOT 5
- Using HTTP Proxy: Retrieved Host is IP Address instead of Domain in HTTPS Tracker URL HOT 4
- qBittorrent announces IPv4 and IPv6 to private HTTPS tracker twice HOT 5
- Hybrid Hash value aren't matching v1 hash nor v2 hash HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libtorrent.