summaryrefslogtreecommitdiff
path: root/Assistant/Pushes.hs
Commit message (Collapse)AuthorAge
* add exporter thread to assistantGravatar Joey Hess2017-09-20
| | | | | | | | | | | | | | | | | | | | | | | This is similar to the pusher thread, but a separate thread because git pushes can be done in parallel with exports, and updating a big export should not prevent other git pushes going out in the meantime. The exportThread only runs at most every 30 seconds, since updating an export is more expensive than pushing. This may need to be tuned. Added a separate channel for export commits; the committer records a commit in that channel. Also, reconnectRemotes records a dummy commit, to make the exporter thread wake up and make sure all exports are up-to-date. So, connecting a drive with a directory special remote export will immediately update it, and getting online will automatically update S3 and WebDAV exports. The transfer queue is not involved in exports. Instead, failed exports are retried much like failed pushes. This commit was sponsored by Ewen McNeill.
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* whitespace fixesGravatar Joey Hess2012-12-13
|
* refactor XMPP clientGravatar Joey Hess2012-11-03
|
* where indentationGravatar Joey Hess2012-10-31
|
* split and lift Assistant.PushesGravatar Joey Hess2012-10-29
|
* reconnect XMPP when NetWatcher notices a changeGravatar Joey Hess2012-10-27
|
* initial implementation of XMPP push notifier (untested)Gravatar Joey Hess2012-10-24
| | | | | | | Lacking error handling, reconnection, credentials configuration, and doesn't actually do anything when it receives an incoming notification. Other than that, it might work! :)
* added push notifier thread, currently a no-opGravatar Joey Hess2012-10-24
| | | | | | | | | | | Hooked up everything that needs to notify on pushes. Note that syncNewRemote does not notify. This is probably ok, and I'd need to thread more state through to make it do so. This is only set up to support a single push notification method; I didn't use a NotificationBroadcaster. Partly because I don't yet know what info about pushes needs to be communicated, so my data types are only preliminary.
* use a TMVarGravatar Joey Hess2012-06-26
| | | | | | | SampleMVar won't work; between getting the current value and changing it, another thread could made a change, which would get lost. TMVar works well; this update situation is handled by atomic transactions.
* better data type for push recordsGravatar Joey Hess2012-06-26
| | | | Not yet plumbed thru
* add a push retry threadGravatar Joey Hess2012-06-25