Commit Graph

56 Commits

Author SHA1 Message Date
1b4104a928 Don't ever use UNIX file modification time for event modification time
Doing so can cause inconsistency and cause events to get dropped that
shouldn't. Also add warning to local event side if an event is reported
by the watcher that is not more recent than the event which was
previously the latest local event.
2013-09-08 22:51:36 -04:00
d7cd6f348c Update timestamp on events even if they match
If we don't do this, we don't maintain the invariant that the timestamp
of the latest locally-stored event for a path is the last time this path
was updated. Not maintaining this invariant can cause to incorrect
behavior (i.e. files being deleted when they shouldn't).
2013-09-08 22:13:04 -04:00
793e4eb6b2 client: add batching of sending events to the server 2013-09-05 23:20:29 -04:00
65e692b701 Add support for adding multiple events to the database atomically 2013-09-05 21:06:15 -04:00
fcf61701cc Process remote events in their own goroutines 2013-09-05 19:59:45 -04:00
d97b424e98 watcher: Begin watching added directories before walking them to add subdirectories 2013-09-05 19:58:32 -04:00
90533c9e2d Keep statistics on the number of events being sent to the server 2013-09-04 23:51:28 -04:00
11b57cda66 Add statistics to client and command to view them 2013-09-04 23:09:28 -04:00
e375489cae Add copyright information 2013-09-04 22:02:17 -04:00
393eb31c3c Add version information 2013-09-04 21:29:53 -04:00
d883e3d92d Generalize RPC client code, add basic RPC functionality to client 2013-09-03 23:33:36 -04:00
2dcd08d502 Re-factor clean exiting to be usable in the client also 2013-09-03 22:25:41 -04:00
4eb75e1db1 Continue reorganization, add asinkd stop cmd, make asinkd socket configurable 2013-09-02 23:35:48 -04:00
2599717d09 Combine server into single 'git-style' executable 2013-09-02 09:36:03 -04:00
a6c296e0fd go vet 2013-09-01 09:53:33 -04:00
aef7e308d0 Add FTP storage method 2013-08-29 23:39:06 -04:00
47c785b4d3 go fmt 2013-08-29 07:38:55 -04:00
78bfae8005 Make server properly report that it needs authentication via HTTP
headers
2013-08-29 07:36:16 -04:00
9c442254a7 Finish adding simple user authentication 2013-08-28 23:05:28 -04:00
7009b0eda8 go fmt 2013-08-27 09:41:55 -04:00
219eecbfda Finish core funtionality for server user-administration tool 2013-08-27 00:03:38 -04:00
4d7d82ed94 Make watcher scan all directories for client, start adding user
management to server with socket communication via admin binary
2013-08-23 00:10:52 -04:00
6f72225b5b Automatically create/delete directories around file creation/removal 2013-08-14 23:00:52 -04:00
ccb35fc7a6 Miscellaneous fixups 2013-08-14 23:00:52 -04:00
f80639c815 Save relative file paths (not absolute ones) 2013-08-14 21:10:16 -04:00
6bdb81834c Improve error handling by adding DISCARDED state for events 2013-08-14 07:26:52 -04:00
0c9b4cb057 Upload the cached version of the file instead of trying to upload the
original, in case the original has since been deleted
2013-08-14 07:25:17 -04:00
78e45facd7 Add file permission detection/restoring 2013-08-13 23:18:17 -04:00
fae1ed38d5 Finish unfinished ProcessRemoteEvent functionality 2013-08-13 23:17:45 -04:00
d5c199c021 remove unneeded event.Status field updates 2013-08-13 23:13:54 -04:00
f3b4294b23 add ErrorFileNotFound util function 2013-08-13 23:12:08 -04:00
bdd8032f29 Miscellaneous bug fixes 2013-08-13 21:55:17 -04:00
2569f4cfbf Add path map and convert asink client event processing to that model 2013-08-13 21:51:19 -04:00
cfc45fec71 Fixup client/database so it doesn't leak open cursors 2013-08-13 21:45:52 -04:00
9c8730f60a Add Predecessor field to events, which holds the hash of the previous file at that path 2013-08-13 21:43:05 -04:00
3f113aea42 Make event's methods pointer receivers 2013-08-13 20:42:51 -04:00
e5fabc27e3 Add states to Event to handle incoming events 2013-08-07 23:43:38 -04:00
49b0f75714 client/storage_local.go: os.Create is for opening files as writable 2013-07-24 22:14:42 -04:00
24253d2e1e server: Surround sqlite3 transactions with a lock to handle concurrency 2013-07-19 22:15:53 -04:00
ada1317ec8 Add downloading of remotely-updated files 2013-04-01 23:59:40 -04:00
3a166dbc9a Fix server error message, go fmt 2013-03-18 07:17:44 -04:00
ad8156210f server.go: Handle errors on inserting individual events 2013-03-17 23:04:23 -04:00
4fda36f75e server/database.go: remove unnecessary function/code 2013-03-17 23:04:04 -04:00
a4bce8a07b client: Retrieve events sent to server 2013-03-17 23:02:51 -04:00
11bcf164c6 Surround sqlite3 transactions with a lock to handle concurrency 2013-03-10 23:13:30 -04:00
1ddbcb3636 server: add long-polling support 2013-03-09 22:47:49 -05:00
94823e104d Add server database, returning events 2013-02-22 00:06:10 -05:00
3fc3e3a963 Restructured to have subpackages, added server communication 2013-02-20 23:43:01 -05:00
b193814371 Add database support, basic client-side event processing 2013-02-18 20:44:00 -05:00
6975ef035c Add timestamp and status to Event type 2013-02-13 07:31:10 -05:00