lxfb | 19 Sep 23:09 2014
Picon

Remove torrent

Hi,

To remove a torrent, remove_torrent(handle). 
But if the torrent can not start the downloading for some motifi, and has not a valid handle, as it should
remove it?.

Thanks.

------------------------------------------------------------------------------
Slashdot TV.  Video for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
Angel Leon | 19 Sep 20:15 2014
Picon

libtorrent git/github fork

In case someone wants to browse the libtorrent source code on github,
I have a synced mirror (gets synced a few times a day) here

https://github.com/gubatron/libtorrent

in case its ever considered to move to git + github, hopefully you're just
one "Fork" button away. The Bitcoin community has taken interest in the
libtorrent libraries, in my case I'd like to explore the possibilities of
your DHT implementation on OpenBazaar.

If you ever decide to move to github, you will find it an amazing
environment for collaboration, issue tracking, learning, teching and
community building.

As of now, I'm not sure how patches are to be submitted, this process
becomes extremely convenient with github, both for submitting them and for
peer reviewing them and managing code merges.

Cheers,
Angel.
------------------------------------------------------------------------------
Slashdot TV.  Video for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
queue | 17 Sep 02:00 2014

DHT Store: how is `cas` supposed to work?

>From `docs/dht_store.rst`:

> CAS is short for compare and swap, it has similar semantics as CAS 
> CPU instructions. It is used to avoid race conditions when multiple 
> nodes are writing to the same slot in the DHT.
> 
> The cas field is optional. If present it specifies the sequence 
> number of the data blob being overwritten by the put. When present, 
> the storing node MUST compare this number to the current sequence 
> number it has stored under this key. Only if the cas matches the 
> stored sequence number is the put performed. If it mismatches, the 
> store fails and an error is returned. See errors below.
> 
> The cas field only applies to mutable puts. If there is no current 
> value, the cas field SHOULD be ignored.
> 
> When sending a put request to a node that did not return any data for
> the get, the cas field SHOULD NOT be included.

I don't see how this is supposed to provide atomic register-like
semantics in a distributed context. If two writers are trying to insert
a different value with `cas` set, they could both succeed on disjoint
subsets of the k-closest replicas. Furthermore, any other node could
later repeat either one of the PUT messages _without_ the `cas`
parameter set, and overwrite the rest of the replicas.

--queue

------------------------------------------------------------------------------
Want excitement?
(Continue reading)

foo bar | 15 Sep 13:04 2014
Picon

https seed doesn't work with googledrive

Hello,

Https seed works well with
https://ftp.gnu.org/gnu/emacs/emacs-24.3.tar.gz but not with
https://4b3bfa7228fcf7c3d73d92a42fe56f6713988a99.googledrive.com/host/0B9JdQhySD5ZGLXNkcHMtcWYzS2M/IN3WLN05WW5.exe.
it only downloads 0.19 %.
i changed the user agent to "Mozilla/5.0 (X11; Ubuntu; Linux x86_64;
rv:31.0) Gecko/20100101 Firefox/31.0" in
/usr/lib/python2.7/dist-
packages/deluge/core/core.py but still the
same problem.

i used:
deluge: 1.3.6 (libtorrent: 0.16.13.0) on ubuntu 14.04

please help!
thank you!

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
Calum Lind | 15 Sep 12:53 2014
Picon

Error with website links

Arvid, most of the links on libtorrent.org (rasterbar.com seems to be
down), other than manual or reference page, result in redirection to
an error page.

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
arvid | 13 Sep 21:22 2014
Picon
Picon

RFC deprecating half-open limit

I'm considering removing the possibility to limit the number of 
half-open
TCP connections. That is, the number of simultaneous TCP connect 
attempts.

The reason this feature exists is because of versions of windows from XP 
SP2
until Vista SP2. These versions of windows have an attempt at mitigating 
worms
(at least that's my understanding) by restricting all processes from the 
number
of outstanding connection attempts, assuming that this primarily targets 
worms.

A TCP connection attempt is no longer outstanding when the remote 
machine
responds to it, meaning this is primarily a problem if you connect to 
machines
that aren't likely to respond. This happens to be true for bittorrent 
and many
p2p applications as well.

The penalty for exceeding this limit is throttling TCP SYN packets to 1 
per
second (I seem to recall that this may be a system-wide throttle). So, 
it's
quite bad.

Microsoft eventually realized that this was not a great idea (I assume) 
and
(Continue reading)

Angel Leon | 11 Sep 23:07 2014
Picon

libtorrent-1.0.2 - python binding issues for MacOSX build - "Symbol not found" (worked fine in Ubuntu)

$ python simple_client.py
Traceback (most recent call last):
  File "simple_client.py", line 7, in <module>
    import libtorrent as lt
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/libtorrent.so,
2): Symbol not found: __ZNKSt5ctypeIcE13_M_widen_initEv
  Referenced from: /usr/local/lib/libtorrent-rasterbar.8.dylib
  Expected in: /usr/lib/libstdc++.6.dylib
 in /usr/local/lib/libtorrent-rasterbar.8.dylib

Here's everything I tried so far
<https://gist.github.com/gubatron/e6c10f984965b6bd412a>, ran out of ideas
as to why this error occurs on mac, maybe for you it will be evident what
the issue is.

(I've had a similar issue in Linux last night and I resolved it by simply
updating my LD_LIBRARY_PATH, I saw you helped another user on a mailing
list by telling him to update the DYLD_LIBRARY_PATH, doesn't work for me
either)

The library was built with the following configure options
./configure --enable-tests --enable-examples *--enable-python-binding*
*--enable-debug*

If I find a solution before I get a response I'll document it and send it
along.

Thank you so much for your hard work on libtorrent, you guys are amazing,
learning tons.

(Continue reading)

Jakob Petsovits | 11 Sep 07:04 2014

CMake build

Hi,

Attached is an attempt at fixing the CMake build, and improving it from 
there.

There is one unambiguous error right now where several examples use 
TORRENT_EXTRA_EXPORT API and because -Dbuild_examples=1 did not cause 
-DTORRENT_EXPORT_EXTRA to be set, linking fails. That's fixed by this 
patch.

There is another issue that I'm not entirely sure how to tackle. After 
having fixed the above issue, this error message is what remains for the 
CMake build:

Linking CXX executable
connection_tester
CMakeFiles/connection_tester.dir/connection_tester.cpp.o:(.rodata._ZTIN5boost4asio6detail12service_baseINS0_21stream_socket_serviceINS0_2ip3tcpEEEEE[_ZTIN5boost4asio6detail12service_baseINS0_21stream_socket_serviceINS0_2ip3tcpEEEEE]+0x10): 
undefined reference to `typeinfo for boost::asio::io_service::service'

This one has something to do with the Asio implementation not getting 
included in any file, although I'm not entirely sure how this gets to 
be. In asio.cpp, libtorrent itself seems to unconditionally #include 
<boost/asio/impl/src.hpp>, and my Boost is definitely new enough. If I 
include the same file from connection_tester.cpp, the build succeeds. 
Hoewever, this is the only target in the example directory that seems to 
have this problem, and only with CMake. So adding that include might not 
be the correct solution. (I tried bjam and autotools, works with both. I 
also tried with gcc and clang, same error. The build flags are similar 
enough to make me wonder where exactly things are going wrong.)

(Continue reading)

Jason Fried | 10 Sep 21:04 2014
Picon

Python3 Bindings Patch

https://gist.githubusercontent.com/fried/06c08a4d0ef8b1f5a9c3/raw/779b86fd8808380ac3a1f406a372a2a6a31fbab2/libtorrent-python3

I have been using this patch for a few months now without issue, Most of it
originated on this mailing list I believe.
It includes a __hash__ function added to big_number, so we can use
info_hashes as dict keys in python.

I use these same bindings for both python3 and python2 and have not noticed
any issues.
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
Jandler Mayer | 10 Sep 19:43 2014

libtorrent settings and configuration

Hello,
I am investigating the libtorrent library and I am trying to optimize the download/upload rate in our environment.
Basically, I created the following simple program based on the example and I compare the speed to those I
obtain from qBittorrent. In qBittorrent, I didn't change anything except from removing "Enable
bandwidth management (uTP)". With qBittorrent, I am getting speed of around 50 MB/s but with the sample
code below, I am getting 5-10 MB/s. Is there any configurations, that I should consider?
Thanks,
Jandler
if (argc != 3)    {        std::cerr << "usage: ./libtorrent.Console torrent-file [seed|peer]\n"            "to stop the
client, press return.\n";        return 1;    }
    // create the session    libtorrent::session s;    s.listen_on(std::make_pair(6881, 6889));        // setup the
settings to remove uTP limit    libtorrent::session_settings settings = s.settings();   
settings.rate_limit_utp = false;    settings.mixed_mode_algorithm = 1;    s.set_settings(settings);
    // setup the parameters for the torrent    libtorrent::add_torrent_params p;
    if (argv[2] == std::wstring(L"seed"))    {        p.seed_mode = true;    }        if (argv[2] == std::wstring(L"peer"))    {       
p.seed_mode = false;    }            p.save_path = "D:\\Torrent";    p.ti = new libtorrent::torrent_info(argv[1]);
    // add the torrent    libtorrent::torrent_handle handle = s.add_torrent(p);
    // loop until it is seeding    while (true)    {        libtorrent::torrent_status status = handle.status();
        if (status.is_seeding)        {            break;        }
        printf("%f %% --- %f upload rate --- %f download rate --- \n", status.progress * 100, status.upload_rate /
1024.0 / 1024.0, status.download_rate / 1024.0 / 1024.0);
        Sleep(5000);    }
    std::cout<<"... seeding ... "<<std::endl;
    // wait for the user to end    char a;    std::cin.unsetf(std::ios_base::skipws);    std::cin >> a;
	return 0; 		 	   		  
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
(Continue reading)

Maks Schipko | 10 Sep 13:53 2014
Picon

Speed greater than limit

Hello,
I'm tring to use libtorrent library and I have a some following problem.

I create torrents with default settings and set them limits (e.g., 100Kb) as
  torrent_handle.set_download_limit(limit);

And when I ask speed for the current torrent:
  torrent_handle.status ().upload_payload_rate
sometimes I get greater value then the limit (e.g., 200Kb or 300Kb).

What's wrong? Why my torrent limits aren't applyed?

Best wishes,

Max Shipko
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk

Gmane