Sébastien Blin
3cf2c092f2
proxy: remove useless convertion from InfoHash to InfoHash
2018-06-06 12:16:10 -04:00
Sébastien Blin
aef8aa545b
proxy: reschedule printStatsJob
2018-06-06 12:08:31 -04:00
Sébastien Blin
0c61a605ad
proxy: refresh puts and subscriptions when connectivity changes
2018-06-06 11:29:40 -04:00
Adrien Béraud
07bed77714
proxy server: schedule task from outside thread
2018-06-05 19:43: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
b2171d707a
network engine: properly apply flag MSG_NOSIGNAL
2018-05-25 10:26:58 -04:00
Adrien Béraud
60db9fd9cd
logs: reduce node expiration to debug level
2018-05-25 10:26:58 -04:00
Adrien Béraud
e8989f1f79
network engine: handle EPERM
2018-05-24 16:07:16 -04:00
Sébastien Blin
ed57b3bfa9
Merge pull request #300 from savoirfairelinux/leak
...
network engine: fix node leak during destruction
2018-05-24 15:14:22 -04:00
Adrien Béraud
9249f34c47
network engine: fix node leak during destruction
2018-05-24 15:01:23 -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
b2ba1ca002
proxy server: close socket if no token
2018-05-17 11:33:32 -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
e31d301d90
dhtrunner: run connectivityChanged() even when disconnected
2018-05-08 15:58:24 -04:00
Adrien Béraud
2a15435be3
Merge pull request #291 from AmarOk1412/fixPushIdle
...
proxy: set status to CONNECTED when receiving a push notifications
2018-05-08 13:46:59 -04:00
Sébastien Blin
bf2f2369b1
proxy: set status to CONNECTED when receiving a push notifications
...
If a device receives a push notification, we can assume that the
proxy is up and running (because it sends a push notification).
Indeed, if the proxy is declared as disconnected, no operatons will
be executed when a push notification is received. This state is logic
when not using push notifications (because the local node is down),
but here, the status depends more on the proxy than the local node.
2018-05-08 13:35:13 -04:00
Adrien Béraud
b8b1f61268
search: announce immediately if synced and not pending/completed
2018-05-07 17:43:31 -04:00
Adrien Béraud
63db2eafd9
dht: print detailed request state in search log
2018-05-07 17:43:31 -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
d8e82ca7c4
dhtrunner: check dht before getting public addresses
2018-05-04 21:41:39 -04:00
Adrien Béraud
981bcfc0ba
dht: handle error when sending listen
2018-05-02 14:26:24 -04:00
Adrien Béraud
4a49a53222
Revert "network engine: expire node on next run on network failure"
...
This reverts commit 8489433060 .
2018-05-02 11:55:01 -04:00
Sébastien Blin
9f987e24fe
Merge pull request #277 from savoirfairelinux/proxy_refresh
...
proxy client: independently resubscribe push listeners
2018-04-30 10:56:18 -04:00
Sébastien Blin
95f1d59a7f
proxy: add comment for refresh job
2018-04-30 10:42:39 -04:00
Sébastien Blin
2ce0c5c4c9
proxy: restart listeners if the proxy server close the connection
...
Detect if the proxy server close the connection linked to a listener and
relaunch listeners
2018-04-26 16:45:14 -04:00
Adrien Béraud
b26b78c049
dhtrunner: fix warnings
2018-04-21 17:57:59 -04:00
Adrien Béraud
522a15c410
proxy client: refresh persistent put with margin
2018-04-21 17:57:59 -04:00
Adrien Béraud
6a981772fd
proxy server: cleanup
2018-04-21 17:57:59 -04:00
Adrien Béraud
cc37fb50e2
proxy client: take persistent put by reference
2018-04-21 17:44:45 -04:00
Adrien Béraud
1c9acfe001
proxy client: call opFailed on failure
2018-04-21 15:08:48 -04:00
Adrien Béraud
c6cef856f0
proxy server: cleanup
2018-04-21 12:23:33 -04:00
Adrien Béraud
9f503dbb65
proxy client: loopSignal on put refresh notification
2018-04-21 12:22:58 -04:00
Adrien Béraud
7e4478123f
proxy client: use time_point::max() on persistent put
2018-04-21 12:22:00 -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
Sébastien Blin
37ef1c2cff
proxy: set clientId to listener
...
clientId was not properly set. so every time someone launch a node
and do a listen on a hash, a new listener is generated and it results
by flooding the node of push notifications.
2018-04-20 16:19:03 -04:00
Sébastien Blin
0a04a7f28d
proxy: unsubscribe is now valid with token equals 0
...
Because we now have one listener for each client by hash, the token
is unnecessary here. Moreover, this check is invalid cause we use
a token equal to 0.
2018-04-20 15:25:57 -04:00
Adrien Béraud
4b7b3cd518
dhtrunner: use proper token with cancelListen(future<token>)
2018-04-20 13:35:13 -04:00
Adrien Béraud
1a2d783c2a
op cache: keep listeners alive for some time after cancel
2018-04-20 11:35:45 -04:00
Adrien Béraud
f98658f10f
proxy client: independently resubscribe push listeners
2018-04-19 11:32:22 -04:00
Adrien Béraud
e140116fed
proxy client: close old socket when restarting listeners
2018-04-19 11:31:08 -04:00
Adrien Béraud
da1b7d4615
proxy server: send refresh notification with margin
2018-04-16 15:05:28 -04:00
Adrien Béraud
7b3ce69b62
proxy client: send remote token on cancel
2018-04-16 15:04:57 -04:00
Adrien Béraud
8a52a7f72a
build: add missing files, cleanup
2018-04-16 14:17:52 -04:00
Adrien Béraud
abb9f9291b
proxy server: avoid unneeded copy
2018-04-14 18:15:02 -04:00
Adrien Béraud
e533f5686e
proxy server: use std::lock to avoid deadlock
2018-04-14 18:14:42 -04:00
Adrien Béraud
4234908b69
proxy server: check refresh job
2018-04-13 15:59:46 -04:00
Adrien Béraud
c10c4251b0
proxy server: print stats to stdout once in a while
2018-04-13 15:52:56 -04:00