sledgehammer999 | 25 May 16:23 2015

Deleting handles before destructing session. Clarification.

In the documentation of "add_torrent() async_add_torrent()" there is a
sentence that reads:

"all torrent_handles must be destructed before the session is destructed!"

What does this mean? Should I session::remove_torrent() all the torrents
before destructing the session? If yes, why cant the destructor take care
of it?
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
Bedeho Mender | 20 May 13:22 2015
Picon

Trusting peer_plugin::on_disconnect

Libtorrent docs recommend torrent_plugins only keep weak_ptrs to their
peer_plugin objects, and let libtorrent core keep a shared_ptr.

1) Is the reason one should not keep a shared_ptr, that one cannot trust
that the peer_connection pointer associated with the peer_plugin is still
valid?

2) Keeping lots of weak_ptrs arround, and always locking them to check
their validity seems both slow, e.g. when repeatedly iterating over
peer_plugins, and cumbersome. Would it be safe to instead always trust a
raw peer_plugin pointer until the on_disconnect event is fired?

Is it guaranteed that that both the peer_plugin and its connection are
valid before this event?

Is locking weak_ptrs is actually as slow as I imagine?

Bedeho
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
Bedeho Mender | 16 May 15:45 2015
Picon

Libtorrent connects to same peer multiple times

I experience libtorrent attempting to connect multiple times to the same
host (IP:port combination), is this a feature or a bug? I detect this
through torrent level plugins monitoring new connections in the
torrent_plugin::new_connection() hook.

It may be worth noting that when the first connection is made, I install a
peer_plugin on it and override just about all normal messages libtorrent
wants to send/receive. Could this perhaps cause libtorrent to try to
connect again **to the same peer** because the connection is not behaving
as it wants?

Thanks for your help on the last issue btw. was really stuck there :D

Bedeho
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
Steven Siloti | 13 May 06:00 2015
Picon

Persistent credit v4

Better late than never. The major changes in this version are to bring 
it up to date with the v4 BEP. They are:

- Use a unique sequence number for every receipt
- Add the get_standing DHT query to get a peer's standing at an 
intermediary
- Add the your_standing extension message to inform a peer of its 
standing at an intermediary

I also made a small update to the BEP to add the sender's reputation id 
to get_standing queries. I now consider the BEP and implementation 
feature complete.

The BEP: 
https://github.com/ssiloti/bep-persistent-credit/blob/master/one-hop-rep.rst 

The plugin: https://github.com/ssiloti/libtorrent/commits/rep_manager

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
Shlomo Choina | 12 May 20:10 2015
Picon

Problem with python bindings


solaraquarion <at> Apollo ~ $ python2 -c "import libtorrent as lt; print
lt.version"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: /usr/lib/libtorrent-rasterbar.so.9: undefined symbol:
_ZN5boost6random13random_deviceD1Ev
solaraquarion <at> Apollo ~ $ python2 -c "import libtorrent as lt; print
lt.version"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: /usr/lib/libtorrent-rasterbar.so.9: undefined symbol:
_ZN5boost6random13random_deviceD1Ev

Shlomo Choina | 12 May 20:04 2015
Picon

Problem with python bindingings


solaraquarion <at> Apollo ~ $ python2 -c "import libtorrent as lt; print
lt.version"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: /usr/lib/libtorrent-rasterbar.so.9: undefined symbol:
_ZN5boost6random13random_deviceD1Ev
Attachment (0x92E7F89F.asc): application/pgp-keys, 3118 bytes
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Libtorrent-discuss mailing list
Libtorrent-discuss <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
arvid | 12 May 05:47 2015
Picon
Picon

libtorrent 1.0.5 released

It's up here:

    
https://sourceforge.net/projects/libtorrent/files/libtorrent/libtorrent-rasterbar-1.0.5.tar.gz/download

Changes since last release:

	* improve ip_voter to avoid flapping
	* fixed bug when max_peerlist_size was set to 0
	* fix issues with missing exported symbols when building dll
	* fix division by zero bug in edge case while connecting peers

--

-- 
Arvid Norberg

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
gma625 | 8 May 17:06 2015

Re: Search for the best settings for download torrent metainfo from magnet link(info hash)

I'm back to add more info as below:

1, the program is now running on a server that has a public ip address.
2, I can confirm that the DHT is working, because I can receive lots of get_peer_alert every day(almost 20K a day)

Thanks

At 2015-05-08 22:41:04, "gma625" <gma625 <at> 163.com> wrote:

Hello Friends, 

I'm developing a tool to download torrent's metainfo from a magnet link, What I did is as follows:

1, construct a session object from libtorrent::session.
2, use libtorrent::session->async_add_torrent( libtorrent::add_torrent_params params );

I can download some torrents by the above method, but most of the time, I end up with no metainfo downloaded. 
I'm suspecting that I'm using the wrong settings for the session object , but I've no idea how to tune the
settings. 
btw, I only need to download metainfo, after that, I'll call libtorrent::session::remove_torrent();

I'd appreciate for any suggestion and please don't hesitate to correct me if I made a mistake here. 
Thanks in advance.
--
copy

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
(Continue reading)

buildsystem | 3 May 09:46 2015

Private torrents and duplicates

I recently raised an issue with the developers of qBittorrent, a client 
based on libtorrent. The client automatically merges trackers and HTTP 
seed URLs of torrents that are already in the session. There is at least 
one case where this is undesirable: private torrents. I was directed to 
this mailing list in the resulting discussion. I'd like to request 
feedback regarding the solution I offered as well as make a suggestion. 
Here's the context of the issue:

Private torrents are often tracked by sites which maintain user accounts 
with associated upload and download statistics; not necessarily private, 
invitation-only trackers. They do this in order to create a sharing 
economy where the users are encouraged to seed back as much as they have 
leeched in order to maintain an acceptable share ratio. Thus, these 
trackers depend on the statistics reported by the torrent client in 
order to function; clients which cannot be trusted to report accurate 
statistics are banned from use.

It is often the case that the same files are tracked by multiple sites. 
The users, having already acquired the data from one site, would do well 
to seed it on all trackers. However, that is currently not possible.

Libtorrent looks for duplicates in the session when the `add_torrent` 
method is called. qBittorrent, anticipating this, does its own duplicate 
check and merges the trackers of torrents should a match be found. This 
is problematic because it will cause the misreporting of statistics, 
which will put user accounts and the standing of the torrent client in 
jeopardy.

Suppose there was a completed private torrent in the session. The user 
then downloaded the exact same torrent from two other trackers and they 
(Continue reading)

Bedeho Mender | 30 Apr 16:22 2015
Picon

Posting costume alerts from plugins

I am able to post costume alerts from torrent level plugins by
using torrent::alerts().post_alert(). However, when I try to post a costume
alert from plugin (that is not torrent or peer level, but top level), I get
into trouble.

In the on_tick(), I use the aux::session_impl pointer received in the
added() callback, and call ->m_alerts.post_alert(). This routine attempts
to send the alert back all extensions by iterating m_ses_extensions, which
is a list of shared pointers to plugins. For some reason, dereferencing
these pointers causes the shared pointer dereferencing routine to assert
that it is a null pointer.

Why would the shared pointer to the plugin be a null pointer after the
added() callback has been made? Is this the proper way to post plugin
alerts?

Best
 Bedeho
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
Bedeho Mender | 28 Apr 20:06 2015
Picon

Maximum packet size

It seems that libtorrent has a hardcoded limit of 1MB for any message
received, anything beyond this leads to the peer being disconnected.

1) Is there a reason for this particular hard limit?
2) I have implemented an extended message for sending full pieces, and
consequently this limit will be exceeded on some torrents.

What is the best way to deal with this?

Would bulding a modified version of libtorrent where this hard limit is
altered break something else in libtorrent?

Bedeho
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y

Gmane