Adrien Béraud
a1f8cc906c
proxy client: use SyncCallback
2019-02-19 01:59:59 -05:00
Adrien Béraud
35c6a57526
dht: add synced status
2019-02-19 01:59:59 -05:00
Sébastien Blin
79a2f4280f
proxy: resolve url with protocol and port
2019-02-14 11:04:11 -05:00
Sébastien Blin
769ce45740
proxy_client: support prototype in serverHost
2019-01-22 07:56:27 -08: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
14f6e6e5f3
proxy client: catch exceptions in restbed::Http::async
2018-12-22 23:45:37 -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
Sébastien Blin
00a9333de7
dht_proxy_client: fix finished behavior
...
callback_.emplace_back() returns immediately, so, in some case,
finished can be set to true even before we execute one callback.
Finished should not be used into callback. This patch adds a
finished variable only used by the callbacks to avoid this
case.
This improve the reactivity of the proxy client.
2018-11-11 15:27:57 -05:00
Adrien Béraud
ff83a6daab
proxy: support value expiration
2018-10-29 12:45:52 -04:00
Sébastien Blin
6069fba18f
dhtproxyclient: fix ok when a permanent PUT operations fails
2018-07-31 09:42:23 -04:00
Sébastien Blin
3cf2c092f2
proxy: remove useless convertion from InfoHash to InfoHash
2018-06-06 12:16:10 -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
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
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
68f52a815d
proxy client: refactor ( #289 )
...
Factor various ways of sending listen requests.
2018-05-07 14:54:32 -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
522a15c410
proxy client: refresh persistent put with margin
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
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
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
7b3ce69b62
proxy client: send remote token on cancel
2018-04-16 15:04:57 -04:00
Adrien Béraud
ab0f4f6f17
proxy client: refresh now in case of refresh notification
2018-04-13 11:14:40 -04:00
Adrien Béraud
e3114cd5b9
proxy client: catch name resolving exception
2018-04-13 11:09:34 -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
4884306135
proxy client: restart listeners on reconnect
...
* track IPv4, IPv6 connectivity seperately
* properly restart listeners when connected
* get proxy info in parallel for multiple AF
2018-04-08 19:54:43 -04:00
Adrien Béraud
fd11a4b3e4
proxy client: prevent callback during cancelAllListeners
2018-04-08 19:54:00 -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
Adrien Béraud
368a842d2e
proxy client: don't block resolving address
2018-04-08 19:53:59 -04:00
Adrien Béraud
d250e9b630
proxy client: avoid sending listen with push notifications
2018-04-08 19:53:59 -04:00
Adrien Béraud
3ff6863287
proxy client: add logs
2018-04-08 19:53:59 -04:00
Adrien Béraud
567fa1c703
proxy client: retrieve search from callback
2018-04-06 11:43:51 -04:00
Adrien Béraud
1acace1b91
proxy client: add missing mutex, cleanup
2018-04-05 02:35:01 -04:00
Sébastien Blin
5b71af3cec
proxy: remove useless callback_id
...
callback_id was used for token problems which are not present anymore.
Now token is sufficient and we can remove callback_id.
2018-04-03 10:43:56 -04:00
Sébastien Blin
393a403ff2
proxy_client: fix address split
2018-03-29 11:00:33 -04:00
Adrien Béraud
62e4655d4f
Merge pull request #264 from AmarOk1412/fixPublicAddr
...
dht_proxy_client: fix getPublicAdresss parsing
2018-03-28 16:44:34 -04:00