Adrien Béraud
a30f1b8032
dht: make exportNodes const
2019-03-10 16:39:16 -04:00
Adrien Béraud
1c74c2207f
proxy server: cache json StreamBuilder
2019-02-19 18:43:14 -05:00
Adrien Béraud
55f6c847b8
build: use define flags for proxy
2019-02-19 18:43:14 -05:00
Adrien Béraud
00cc4ebe28
proxy server: send push notification on thread pool
2019-02-19 18:43:14 -05:00
Adrien Béraud
aa93db4fa6
proxy server: move json to sendPushNotification
2019-02-19 18:43:14 -05:00
Adrien Béraud
989f32eb56
filter: cleanup and optimize
2019-02-19 01:59:59 -05:00
Adrien Béraud
a1f8cc906c
proxy client: use SyncCallback
2019-02-19 01:59:59 -05:00
Sébastien Blin
75a14d3608
proxy: only get old values at first subscribe
2019-01-18 22:53:24 -08:00
Sébastien Blin
3a3933e6d5
dhtproxy: remove sendSubscribe
2019-01-14 10:53:08 -08:00
Sébastien Blin
70f09ded3f
dhtproxy: avoid notification after subscribe to retrieve values
2019-01-14 10:53:08 -08:00
Sébastien Blin
36cf70f2a7
proxy: remove useless token for push listeners
...
Since we authentificate listeners with the clientId and the hash and
we use only one listener by hash/clientId, we doesn't need to store
a token always equals to 0.
Note: also avoid to get multiple hashes for one push notification.
2018-12-30 13:35:18 -05:00
Adrien Béraud
c0e376e15a
dht: reduce log verbosity
2018-12-28 01:41:10 -05:00
Adrien Béraud
7f0a5dfda3
dht: increase max number of searches and hashes
2018-12-26 10:28:55 -05:00
Adrien Béraud
6d7f8004bf
connectivity change: reset routing table instead of searches
2018-12-26 10:28:30 -05:00
Adrien Béraud
3b26684a87
network engine: add default values for sendFindNodes
2018-12-19 14:07:55 -05:00
Adrien Béraud
7dda5a3d5a
proxy client: schedule listener restart
2018-12-18 10:10:14 -05:00
Adrien Béraud
306d573223
proxy client: fix race condition
2018-12-17 16:41:00 -05:00
Adrien Béraud
f2f913f93f
securedht: add override for relevant methods
2018-12-11 14:04:35 -05:00
Adrien Béraud
4948bd7ad3
node cache: remove expired weak pointers from cache
...
Remove expired Node weak pointers regularly,
in a way that ensures that:
* every expired pointer gets eventually cleaned up
* expired pointer ratio remains reasonably low
* no cleanup pass blocks the node for too long,
* impact on performance is negligible
Impact on performance:
Every N insertions, at most N nodes are tested by iterating the map
-> performance impact in O(1) (constant).
2018-11-29 19:27:32 -05:00
Adrien Béraud
c6bb67d1ac
dht: add storageRefresh
2018-11-26 01:57:57 -05:00
Adrien Béraud
2dd4e640c4
dhtrunner: add APIs for listen<T> with expiration information
2018-11-25 23:01:03 -05:00
Adrien Béraud
b2542a57df
securedht: cache value signature check/decryption results
2018-11-22 15:43:55 -05:00
Adrien Béraud
00c1be9cdc
logger: use DBG for DEBUG to avoid name conflicts
2018-11-22 15:43:55 -05:00
Adrien Béraud
971f96bf95
dhtrunner: improve getId()/getNodeId() documentation.
2018-10-29 16:23:21 -04:00
Adrien Béraud
f9a12a9dca
crypto: use proper size for getRandom()
...
Provided size should be the number of elements, not the number of bytes.
Also, if secure_vector where used with sizeof(T) > 1 (currently not the case),
there would be memory write to invalid address.
2018-10-29 16:21:51 -04:00
Adrien Béraud
328b306fd0
crypto: add documentation
2018-10-27 11:50:26 -04:00
Adrien Béraud
522a89b6f8
dht: use search cache for get ops
2018-10-27 11:49:55 -04:00
Adrien Béraud
897b451f44
crypto: fix build on Win32
2018-10-26 13:16:02 -04:00
Adrien Béraud
1eb1f3d5ac
storageStore: add permanent mode
2018-09-19 01:54:54 -04:00
Adrien Béraud
7fb2da7c54
dhtrunner: avoid polling, use pipe to stop select
2018-09-15 17:22:12 -04:00
Sébastien Blin
f54fcd768f
proxyserver: add stats endpoint for monitoring
2018-08-10 15:03:09 -04:00
Andreas Traczyk
bfada958b9
build: replace WIN32_NATIVE macro with _MSC_VER
2018-07-23 13:45:52 -04:00
Adrien Béraud
3e3679bebf
dhtrunner: drop packet if processing took too long
2018-06-18 15:52:20 -04:00
Adrien Béraud
3dca4db408
dhtrunner: don't setProxyServer in headers
...
Don't define setProxyServer in headers since it depends on a configuration option
2018-06-15 12:18:56 -04:00
Adrien Béraud
aa202b2cd8
dhtrunner: add getNodeInfo()
...
Allow to retrieve all dht stats in a single API call using
the new method getNodeInfo() and the JSON-serializable
new structure NodeInfo.
2018-06-05 19:43:56 -04:00
Sébastien Blin
709a2c7b7c
dht_proxy_server: avoid mutex when getting /
...
The dht_proxy_server should be always up, so getNodesStats will
be pretty always up-to-date. We can add it into a job and avoid
to wait for this method to finish (and this method use an
internal lock) to have a quick answer about the status of the proxy.
Note: the update is forced during the initialization of the proxy
2018-05-30 14:25:46 -04:00
Adrien Béraud
b7e483078a
proxy: fix typo
2018-05-25 10:26:58 -04:00
Adrien Béraud
f5f71a0365
log: fix LogMethod copy
2018-05-24 11:57:12 -04:00
Adrien Béraud
5b5349d7ad
proxy client: lock proxy info thread, catch detach exceptions
2018-05-17 11:34:25 -04:00
Adrien Béraud
8606e87684
proxy client: allow concurrent proxy info requests ( #292 )
2018-05-11 15:47:24 -04:00
Adrien Béraud
68f52a815d
proxy client: refactor ( #289 )
...
Factor various ways of sending listen requests.
2018-05-07 14:54:32 -04:00
Adrien Béraud
a4fe27223f
immessage: fix warning
2018-04-30 10:40:47 -04:00
Sébastien Blin
484194c114
immessage: add support for custom datatypes
2018-04-23 17:39:37 -04:00
Adrien Béraud
e54d26aaf7
dhtrunner: handle push notification on main dht loop
2018-04-21 12:21:00 -04:00
Sébastien Blin
9421984a89
proxy: cancelPushListeners using clientId instead of token
...
All listeners uses a token equals to 0, we need to identify listeners
with client_id instead of a token.
2018-04-20 16:37:12 -04:00
Adrien Béraud
c10c4251b0
proxy server: print stats to stdout once in a while
2018-04-13 15:52:56 -04:00
Adrien Béraud
e088cd10be
proxy server: keep only one push listener per token.key.clientId
2018-04-10 16:01:14 -04:00
Adrien Béraud
7b88a2122a
proxy: always use string tokens
2018-04-10 12:48:19 -04:00
Adrien Béraud
b3c637536f
proxy client: prevent use-after-free after destruction
2018-04-08 19:54:00 -04:00
Adrien Béraud
1debe012c1
proxy client: restart listeners on connectivity change
2018-04-08 19:54:00 -04:00