52 Commits

Author SHA1 Message Date
Miguel Freitas
ad83ba061c store dhtput data locally so it will be refreshed like the other dht entries we maintain.
should help with missing DHT entries (issue #165), although i think #165 would benefit of a more agressive (faster) retrying of remote stores.
2014-04-05 23:59:44 -03:00
Miguel Freitas
acbd61e93d optimization. should *greatly* reduce cpu usage. #136 2014-01-30 19:29:40 -02:00
Miguel Freitas
08cadbb78e enough of stack smashing segfault. openssl is required, period. fix #105. fix #97. fix #27. 2014-01-26 14:03:15 -02:00
Miguel Freitas
deb489d138 disable iconv in cygwin 2014-01-24 11:09:01 -02:00
Miguel Freitas
e3f7dfe811 apply patch from http://sourceforge.net/p/cygwin-ports/libtorrent-rasterbar/ci/master/tree/0.16.7-cygwin.patch 2014-01-24 10:39:35 -02:00
Miguel Freitas
25128d93dd refresh mention resource in dht 2014-01-15 14:00:39 -02:00
Miguel Freitas
8e80324c36 try to reduce the level of useless dht tracker requests by not announcing empty torrents we do not follow. 2014-01-06 21:59:40 -02:00
Miguel Freitas
8287b2b1e1 use a single database for all swarms of the same libtorrent session.
upgrade resume file to version 2 and enforce on loading (to force existing clients to download all pieces again).
fixes #24.
2014-01-06 15:10:32 -02:00
Miguel Freitas
1ae5745151 another we_dont_have() due to disk read error.
the idea is to help recovering faster from db corruption problems.
2013-12-12 19:07:50 -02:00
Miguel Freitas
c3bea0a3dd If bitcoin network goes down, pause libtorrent to prevent pieces being falsely rejected because height > bestHeight.
Also, if bitcoin network is down, try to add nodes from DHT bucket tables back to the bitcoin network.
2013-11-07 15:06:06 -02:00
Miguel Freitas
658ed6054a export number of known torrent peers (list_peers) to the dht tracker resource and use it
as estimative to the number of followers. at least we get the number of *online* followers.
2013-11-05 22:54:53 -02:00
Miguel Freitas
1838558305 Merge 2013-11-04 21:05:12 -02:00
Miguel Freitas
5a9613297a dht storage refresh is spread over time to avoid bursts of putData 2013-11-04 15:56:29 -02:00
Miguel Freitas
7e1468299b Merge branch 'master' of /home/miguel/softs/twister 2013-11-02 12:35:58 -02:00
Miguel Freitas
2cd0b0a881 rescandirectmsgs: rescan all streams of users we follow for new and old directmessages 2013-10-28 22:59:43 -02:00
Miguel Freitas
699d7a0802 Merge branch 'master' of /home/miguel/softs/twister 2013-10-26 17:59:26 -02:00
Miguel Freitas
7e1726ba8c implement expiring dht items (but it is not enabled yet) 2013-10-18 12:08:54 -03:00
Miguel Freitas
b7aac66551 android fixes 2013-10-15 23:21:08 -03:00
Miguel Freitas
52a3ecda88 fix compilation error (m_sent_bitfield) without libtorrent debug 2013-10-15 22:04:55 -03:00
Miguel Freitas
34024136ae tweaks. increase m_desired_queue_size, maybe 2 is too low due to rounding
number of pieces to the nearest multiple of 8. not sure.
2013-10-10 23:19:30 -03:00
Miguel Freitas
b4322a61bc persist dht keys to disk 2013-10-07 17:31:00 -03:00
Miguel Freitas
dc3b1b2c47 keep track of rt and dm messages and filter dm from get_pieces (getposts rpc) 2013-09-21 16:18:56 -03:00
Miguel Freitas
5e68d4e2ae new getposts rpc 2013-09-20 18:59:31 -03:00
Miguel Freitas
98903d5a73 keep track of last "have" for each torrent 2013-09-18 08:47:26 -03:00
miguel
1bae0176f5 implement refreshing dht storage every hour 2013-08-30 20:25:23 -03:00
miguel
f01cca3d48 logic to refresh dht storage (only single itens). only printf for now. 2013-08-30 17:43:52 -03:00
miguel
5112e73a07 newpostmsg command, working. 2013-08-20 12:18:03 -03:00
miguel
4f51727c1b use bitcoin network time reference, dm creation draft 2013-08-18 22:01:36 -03:00
miguel
e4a943c745 some crash fixes, disable ut_metadata, fix m_name 2013-08-18 17:23:17 -03:00
miguel
0b69a1c5f3 remove file access from storage 2013-08-18 14:43:30 -03:00
miguel
ef6baf79fd replace the other partial hash with the piece signature checking 2013-08-18 13:32:44 -03:00
miguel
2feb58f473 remove slot-piece mapping of deprecated compact storage 2013-08-18 12:20:58 -03:00
miguel
6fb557e33c more untested stuff: try to preserve piece_size when reading from disk.
first signature checking instead of hash.
2013-08-18 09:53:35 -03:00
miguel
6b9c27048e partial untested torrent chages. will use leveldb for storage, no more multi-files per torrent, number of pieces may increase. 2013-08-17 20:12:44 -03:00
Miguel Freitas
4513fee3e5 use the right torrent port from the start, not need to change it later 2013-08-11 20:41:47 -03:00
Miguel Freitas
d1071c30f9 completely disable log file creation 2013-08-11 20:39:38 -03:00
Miguel Freitas
662c5fa833 big announce / getPeers change
1) getPeers is obsolete, peers are obtained from getData with r="tracker", t="m"
2) announce api of node.cpp is used to update our own memory table (of the tracker)
3) announce api of node.cpp only do getDate/announce to the network if peer is the local one
4) announcement rpc (to the network) might be removed in future (not sure)
2013-08-09 21:34:00 -03:00
Miguel Freitas
6af8185112 remove mutable/imutable stuff 2013-08-09 17:11:59 -03:00
Miguel Freitas
425c355b72 maintain list of multivalued dht items ordered (newer first) by height. discard the last when size exceeds. 2013-08-09 15:27:01 -03:00
Miguel Freitas
4154a37a14 add support to detect when our node is neighbor of a special resource (eg. torrent tracker) 2013-08-07 23:17:09 -03:00
Miguel Freitas
a35cdef738 dht_reply_data_done_alert to unlock client waiting for data 2013-08-07 22:47:34 -03:00
Miguel Freitas
dea237d2ed implement dht_get_data_alert to detect when we are neighbor of a certain request 2013-08-07 17:40:16 -03:00
Miguel Freitas
9c52adbe25 compare contents (v) before adding multi valued key 2013-08-06 00:08:10 -03:00
Miguel Freitas
36e2230b58 exporting get/put dht data to upper levels. completely untested. 2013-08-04 22:10:07 -03:00
Miguel Freitas
e46256a2f5 separate getData and putData 2013-08-04 21:16:09 -03:00
Miguel Freitas
ed718aa283 draft of putData api to the dht network 2013-08-04 21:06:42 -03:00
Miguel Freitas
8b6edd3c79 draft of dht get implementation (untested) 2013-08-04 12:58:50 -03:00
Miguel Freitas
2bd0f7de12 first draft of transversal algo to get data from dht 2013-08-04 00:17:52 -03:00
Miguel Freitas
71e0da6705 initialize libtorrent session with external ip set 2013-08-01 17:05:37 -03:00
Miguel Freitas
330361c748 remove autoconf generated files from git 2013-07-29 15:34:36 -03:00