Adrien Beraud
87dc080bbf
crypto: add raw hash function
2017-11-02 14:25:46 -04:00
Adrien Beraud
834d62e6e9
InfoHash: use bool operator where relevent
2017-11-01 16:28:17 -04:00
Adrien Beraud
dc99919338
InfoHash: add explicit operator bool()
2017-11-01 11:59:11 -04:00
Adrien Béraud
fcaaa01b2d
network engine: add "value update" message type
2017-10-30 13:12:16 -04:00
Adrien Béraud
8cd3ff9fc4
network engine: remove unused constant
2017-10-30 13:12:16 -04:00
Adrien Béraud
0a130c7045
dht: update permanent state on announce
2017-10-30 13:12:16 -04:00
Adrien Béraud
eb9f314356
dhtnode: allow to perform and cancel persistent put
2017-10-30 13:12:16 -04:00
Adrien Béraud
a401aea132
dht: simplify searchSendAnnounceValue
2017-10-30 13:12:16 -04:00
Adrien Béraud
41ebbe21d4
node cache: expire nodes on destructions
...
Expiring nodes on cache destruction allow to cancel
any remaining request before the dht instance is destructed,
since Node instances might remain alive after the dht instance
is destroyed.
2017-10-30 13:12:16 -04:00
Adrien Béraud
6378840d33
dhtnode: allow to cancel a listen operation
2017-10-30 13:12:16 -04:00
Adrien Béraud
64f0aa1532
parsed message: don't override the reported address family
2017-10-30 13:12:16 -04:00
Adrien Béraud
63366722a9
dht: reduce verbosity of storage log
2017-10-21 18:01:32 +02:00
Adrien Béraud
cd17858ae1
dht: periodic cleanup of unused quota entries
2017-10-21 18:00:46 +02:00
Adrien Béraud
f4ebbc6651
update to version 1.4.1
...
* updated MSVC project
* bug fixes
1.4.1
2017-10-21 01:30:12 +02:00
Adrien Béraud
464339822b
Merge pull request #215 from AmarOk1412/typoPeriod
...
rate_limiter: typo fix, 'Perdiod'->'Period'
2017-10-20 23:56:02 +02:00
Sébastien Blin
fe09146609
rate_limiter: typo fix, 'Perdiod'->'Period'
2017-10-20 14:51:35 -04:00
Adrien Béraud
a789ffe7ae
dht: prevent use-after-free of socket callback
2017-10-20 17:46:27 +02:00
Adrien Béraud
476fbb1160
network: use full 32-bits of transaction IDs
...
We used to use the first 16 bits for the message type.
2017-10-20 17:42:28 +02:00
Adrien Béraud
4501217c21
Merge pull request #214 from atraczyk/master
...
remove vs2015 based constexpr error, update vs project files
2017-10-19 01:19:43 +02:00
atraczyk
207675a181
remove vs2015 based constexpr error, update vs project files
2017-10-18 17:50:19 -04:00
Adrien Béraud
cf6447dc80
NetworkEngine: use proper type for constant
2017-10-17 19:22:15 +02:00
Adrien Béraud
775eb2e599
update to version 1.4.0
...
* improved Doxygen documentation
* cmake: add support to build documentation
* cmake: improve build on macOS
* API change: storage policies, getPublicAddress now use SockAddr
* NodeExport: added msgpack serialization
* fixed issue that could cause occasional request failures
* minor bug fixes
* minor performance improvements
1.4.0
2017-10-17 18:37:08 +02:00
Adrien Béraud
376486e64f
node: use full range of socket IDs
2017-10-17 15:25:09 +02:00
Adrien Béraud
63013bf374
SearchNode: prevent copy, check request access
2017-10-17 03:17:52 +02:00
Adrien Béraud
488aa771a9
Node: don't expire existing requests
2017-10-16 17:12:33 +02:00
Adrien Béraud
6bc2f19a36
dht: log total number of nodes in onGetValuesDone
2017-10-16 17:12:33 +02:00
Adrien Beraud
2dd94fbfe8
cmake: use CMAKE_THREAD_LIBS_INIT as library
2017-10-16 01:26:40 +02:00
Adrien Béraud
be2b9fd7dc
NodeCache: handle end() lower_bound for non-empty map
2017-10-15 15:57:14 +02:00
Adrien Béraud
9d4e6e0984
rate limiter: use deterministic maintenance
...
Using deterministic maintenance sets an upper bound
to the size of the address map.
2017-10-15 01:18:32 +02:00
Adrien Beraud
4856a6b424
PublicKey: getId compatible with HASH_LEN = 32
2017-10-13 15:43:56 +02:00
Adrien Béraud
7df375fc75
NodeCache: fix invalid pointer access
2017-10-13 15:40:09 +02:00
Adrien Béraud
63e0c1266a
dht: use OpStatus in put
...
Factorize shared pointers.
2017-10-13 02:07:14 +02:00
Adrien Béraud
1a54aff7bc
storage policies: use SockAddr
...
API-breaking change to use const SockAddr& instead of sockaddr*.
2017-10-13 01:10:09 +02:00
Adrien Béraud
f2b9f8eeda
dht: move bucket time update to routing table
2017-10-13 01:10:09 +02:00
Adrien Béraud
e9f007025f
node: make most fields private
2017-10-13 01:10:09 +02:00
Adrien Béraud
6ce1531e1f
node: make id const
2017-10-12 15:44:34 +02:00
Adrien Béraud
84a45c4f91
dht: factorize shared pointer dereference
2017-10-12 15:44:14 +02:00
Adrien Béraud
e20ae56cab
dht: support client mode
...
In client mode, a node won't store data
and won't participate in routing.
2017-10-12 15:44:14 +02:00
Adrien Béraud
4ce0168916
network engine: move ParsedMessage to separate file
2017-10-11 23:51:44 +02:00
Adrien Béraud
024dd42e5a
dht: remove processMessage
2017-10-11 17:36:20 +02:00
Adrien Béraud
98ec789526
nertwork engine: move tid management to Node
2017-10-11 17:36:20 +02:00
Adrien Béraud
3bb5e7ee12
network engine: move transaction ownership to Node
2017-10-11 17:36:20 +02:00
Adrien Béraud
8c529b7d7f
request: add getTid(), getSocket()
2017-10-11 13:47:53 +02:00
Adrien Béraud
be7494961c
network engine: move socket management to Node
2017-10-11 02:23:56 +02:00
Adrien Béraud
bdb0bef0ee
network engine: move RequestAnswer out of class
2017-10-11 02:22:03 +02:00
Adrien Béraud
73f26e120d
doc: improve documentation
2017-10-10 18:16:33 +02:00
Adrien Béraud
9f4b16e4f5
cmake: add doxygen documentation support
...
Automatically build documentation if doxygen is found.
2017-10-10 17:45:34 +02:00
Adrien Béraud
323ad774e5
value: restore stream state after change
2017-10-09 15:14:20 +02:00
Adrien Béraud
d0bcd39341
IpServiceAnnouncement: use SockAddr
2017-10-09 15:06:34 +02:00
Adrien Béraud
42125367d7
SockAddr: add documentation
2017-10-09 14:46:35 +02:00