arvid | 24 Mar 03:45 2015
Picon
Picon

deprecating RSS API

I'm considering deprecating and eventually removing the RSS API from 
libtorrent.

You may be surprised to here that there is an RSS API in libtorrent. I 
don't get
the impression it sees a lot of use, and I also think it was a mistake 
to add it.
It does not belong in the scope of libtorrent.

The reason I added it was because I envisioned to one day provide a 
DHT-backed
RSS feature. But it increasingly seems like that also is better suited 
as an
external library.

If anyone is curious, this is what I'm talking about [1].

I'm tempted to move this functionality into the libtorrent-webui repo
instead [2], which seems more appropriate.

    Please let me know if you rely on this part of libtorrent and/or if
    you think it's a bad idea to deprecate it.

thanks,
--

-- 
Arvid Norberg

[1] http://libtorrent.org/reference-RSS.html#feed_item
[2] https://github.com/arvidn/libtorrent-webui

(Continue reading)

arvid | 22 Mar 04:47 2015
Picon
Picon

libtorrent-1.0.4 released

Changes since the last stable release:

	* fix bug in python binding for file_progress on torrents with no 
metadata
	* fix assert when removing a connected web seed
	* fix bug in tracker timeout logic
	* switch UPnP post back to HTTP 1.1
	* support conditional DHT get
	* OpenSSL build fixes
	* fix DHT scrape bug

It's now the default download at sourceforge:

   
https://sourceforge.net/projects/libtorrent/files/latest/download?source=files

--

-- 
Arvid Norberg

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Ricky Huang | 18 Mar 02:16 2015
Picon

Can ip_filter be set / adjusted dynamically?

Hello all,

I am wondering if I am able to adjust ip_filter dynamically?  Currently on start, my client creates an
ip_filter and pass it to session.

What I want to do is to be able to alter the behavior as my client runs.  And is the following how I should go about
doing it:

 - On start
    - create initial set of filters
    - session.set_ip_filter()

 - On filter condition
    - session.get_ip_filter()
    - modify filter (add_rules() etc)
    - session.set_ip_filter()

Lastly, at what point does the ip_filter kick in?  E.g., if a peer has been filtered and it attempts to request
data from me, does libtorrent respond with some kind of denied message, does it drop the connection
attempt altogether, or…?

Thanks everyone!
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Libtorrent-discuss mailing list
(Continue reading)

Angel Leon | 13 Mar 19:46 2015
Picon

patch: inverting "const static" declarations to "static const"

This patch <https://github.com/gubatron/libtorrent/pull/1.diff> (see split
diff <https://github.com/gubatron/libtorrent/pull/1/files?diff=split>) inverts
the order of declaration of const static objects to static const.
This is done because the const static syntax causes problems with tools
like swig <http://www.swig.org/> which parses the code to create bindings
for different programming languages.

Thanks,
Angel.

On a swig related note, we're using swig to make the frostwire-jlibtorrent
java wrapper, those of you using jlibtorrent we've just updated the code to
include all the changes done to libtorrent's trunk (lazy_entry ->
bdecode_node, and lots more that has changed in the libtorrent API is now
in Java land too), so beware that if you decide to grab our latest code,
you might have to do a few refactors here and there on your
frostwire-jlibtorrent integration.

http://twitter.com/gubatron
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Ricky Huang | 12 Mar 00:50 2015
Picon

Understanding session_stats logs & suggestions on saving outgoing bandwidth

Hello all,

I have built libtorrent with-statistics flag and is currently trying to understand the meaning behind
these particular columns:

"uploaded bytes”, "downloaded bytes” - These seems obvious.  I take it that they include ALL data,
extensions, protocol overhead, and payload?

"peers bw-up”, "peers bw-down” - Are they “bandwidth”?  I notice the values are integers, what do
they mean?

"peers down 0”…"peers down 100-“, "peers up 0”..."peers up 100-“

"% protocol bytes” - What is this a percentage of?  Uploaded + downloaded bytes?

"up 8”... "up 1048576” - What are these?

The reason I am obsessing over outgoing bandwidth is because for the project I am doing, I have built a custom
client to purely observe swam and collect statistics.  I do not upload nor download any data.  I am using
Amazon AWS for this purpose so every bit of outgoing data from the server counts toward my bill.  What I am
noticing is that despite I have drop all on_request from peer (via a peer plugin) I am still seeing outgoing
data.  I want to figure how much data if leaking via plugins, extensions, and/or other means.  Would it help
to disable DHT as well as PEX?

Thanks in advance.  Any suggestions welcomed!

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
(Continue reading)

Ricky Huang | 6 Mar 21:34 2015
Picon

Building with full-stats and where to get the stats

Hello all,

I have a few questions on enabling the "full-stats" build flag to capture the full traffic pattern on libtorrent:

1) I do not see the “full-stats” flag in “./configure --help”.  However, I do see
"--enable-statistics”.  Are they the same thing?
2) How and where are those statistics logged to?  Specifically I want to check how much of my traffic is
devoted to DHT and PEX protocols.

Thanks in advance!

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Libtorrent-discuss mailing list
Libtorrent-discuss <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
shawn weng | 1 Mar 06:51 2015
Picon

Re: upload more

 All of the peers have at least 1 Gbit connection. most of them are
seedboxes, mine is a leaseweb dedicated server with 1Gbit premium network

On Sat, Feb 28, 2015 at 11:44 PM, shawn weng <lloonmid <at> gmail.com> wrote:

> hi, all of the peers have at least 1 Gbit connection. most of them are
> seedboxes, mine is a leaseweb dedicated server with 1Gbit premium network
>
> On Sat, Feb 28, 2015 at 11:09 PM, arvid <arvid <at> cs.umu.se> wrote:
>
>> On 2015-02-28 20:50, shawn weng wrote:
>>
>>> deluge 1.3.11 or deluge 1.3.6
>>>
>>> libtorret  1.0.3
>>> if bandwidth allows, how to upload as much as it can in a swarm with
>>> just a few peers (every one seeks to upload more) and the initial
>>> seeder has very slow upload speed (10KB/S or very fast (1 Gbit)  . I
>>> heard that ltconfig in deluge could help that. but I don't know how.
>>>
>>
>> You probably want to find out what is currently determining the limit
>> on your upload rate. One way to get an idea of this is to rebuild
>> libtorrent
>> with TORRENT_STATS, which will generate a log that can be parsed with
>> tools/parse_session_stats.py.
>>
>> Are you sure the peers you're uploading to have any more download
>> capacity?
>> Perhaps your upload rate is limited by the other ends' download capacity.
(Continue reading)

shawn weng | 1 Mar 05:50 2015
Picon

upload more

 deluge 1.3.11 or deluge 1.3.6

libtorret  1.0.3
if bandwidth allows, how to upload as much as it can in a swarm with
just a few peers (every one seeks to upload more) and the initial
seeder has very slow upload speed (10KB/S or very fast (1 Gbit)  . I
heard that ltconfig in deluge could help that. but I don't know how.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
markus.kramer | 27 Feb 19:54 2015
Picon

"Altruistic" mode – only bandwidth matters, not share ratio

Hello all,
I want to distribute files within a corporate network using BitTorrent.

Being on a corporate network, a peer must behave strictly “altruistic” 
and share to anybody (from the corporate network) at the highest 
available bandwidth.
In my first test a seeding peer creates files every 15 minutes and a 
leeching peer requests them every 15 minutes.  My observation is that 
file distribution degrades after a while: the seed stops sharing every 
file and reduces bandwidth.

I assume this is caused by the tit-for-tat / reciprocity / mutuality 
principle that is at the heart of the BitTorrent protocol:  its 
intention is to “encourage” others to share, but from a corporate 
viewpoint, this encouragement is unneeded. As far as I understand it, a 
peer uses share ratio to choke and reduce bandwidth.

Can one configure libtorrent such that peers become “altruistic”, 
setting off the mutuality principle?
Has there been a former effort in this direction?

Best regards,
Markus

For further reading see https://github.com/markuskramerIgitt/Magni/wiki

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
(Continue reading)

Angel Leon | 27 Feb 17:25 2015
Picon

create_torrent question. (adding custom entries inside "info" dictionary)

If you wanted to add a custom entry inside the `info` dictionary and have
its data  considered towards the calculation of the infohash of the
torrent, how would you go about it?

I see that the `m_info_dict` property holding it is private in the
`create_torrent` class and you can only get a hold of the `entry` object at
the last step when you invoke `generate()`

at that point I suppose that if I add entries inside the `info` dictionary,
and then serialize that entry, the torrent wouldn't be valid as the sha1
hash wouldn't match.

has anyone had this issue before, adding custom entries inside the "info"
dict and creating a torrent out of it?

Thanks,
Angel
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Bedeho Mender | 25 Feb 11:44 2015
Picon

peer_plugin piece management

I have a peer level plugin which overrides the requesting and sending of
pieces.

1) Is it enough to simply take the torrent out of automanaged mode for
libtorrent to no longer attempt to send out requests and/or piece messages?

If not, how would you recommend a plugin take control of this properly and
fully?

2) When sending request messages, I am aware that pipelining is very
important for performance.

Does that apply both for the tcp and the µTP transport protocol?

Beyond making sure that you have 5 outstanding request messages sent to the
peer at all times, is there anything else which is important to pipeline
properly?

3) When a piece has been validated, as reported through
peer_plugin::on_piece_pass, does this
piece automatically get written to disk or the disk buffer?

If it gets written to the buffer, is there a way to force this piece to get
flushed to disk?

best
 Bedeho
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
(Continue reading)


Gmane