Commit Graph

107 Commits (cc4ea50ef6ef809d678eb245ed6eae255e0b421b)

Author SHA1 Message Date
ansuz cb6b4a8eb3 always supply a callback when writing messages
ansuz c7f70d7264 implement blob management methods in a dedicated file
ansuz 7cc1832a1f handle stream errors when checking for metadata
ansuz ab868237a0 replace ad hoc line stream with readline module
ansuz 1d5534b593 provide more debugging info on metadata parse errors
ansuz b59f03b949 consider changes to metadata logs as channel activity
ansuz d6fc35cab4 mkdirp the path to metadata before writing
ansuz b82c0a420a merge latest staging
ansuz 84e1057153 address remaining notes in the storage api
ansuz a63bea1f59 remove invalid callback which would totally break channelBytes
ansuz 3c1aadd6c1 archive metadata even if there is no corresponding channel log
ansuz a3a7bcbe35 add comments for lots of functions
ansuz d6d7f4f601 include the size of the metadata log in the computed size of a channel
ansuz 2aebadcff3 use the correct path for channel data when restoring logs from the archive
ansuz 1c89e8d6ac A few updates for editable metadata
* add and update many comments
* correctly handle metadata for young channels and range requests
* add a simple implementation of 'writeMetadata'
ansuz 206de52ee8 call back from writeMetadata
ansuz bf058d8042 prevent multiple callbacks when reading dedicated metadata
ansuz b36f50f2c9 update metadata queries to include edits
ansuz b128b7f02c updated methods for working with editable metadata
ansuz fd43da2dbf archive and restore metadata logs and channel logs together
ansuz a16d7171ad add some more notes
ansuz 0668abf68c correct the regular expression for iterating over channels
ansuz fc9aaf0ecb remove unnecessary argument from channelExists
also add some notes
ansuz 3513e437b6 update atime when accessing files
ansuz 46cd796db5 label code that will need to change for editable metadata
ansuz 0cb3a13aca lint compliance
ansuz b59969f48b archive channels at expiration time if configured to prefer archiving
ansuz d19b704bb8 fix an inverted boolean
ansuz 1e5248ff9d implement methods for checking if a file exists in the database or the archive
ansuz 58cee9e13d remove an XXX because the code looks safe
ansuz 6aa6b706a4 don't release until you think about this XXX a bit more
ansuz ddf4a6a784 pass the correct path to 'listChannels' for 'listArchivedChannels'
ansuz 7e455e6fce drop unnecessary code, restore instead of remove archived files in restoration script, change restore archived name
ansuz cb0c4ee944 don't continue iterating in listChannels until a the current task has called back
ansuz c0d908af4d implement 'unarchiveChannel'
ansuz 11976b262e add a note for later
ansuz dd375a2a22 every type of storage should have its own nested directory within the archive
ansuz 7647f7c68a implement four new storage APIs
* listChannels
* listArchivedChannels
* archiveChannel
* removeArchivedChannel
ansuz aa9a27634a actual lint compliance
ansuz ec64de2c67 additional work on the storage API
* optimize layout on the filesystem
* drop some unused functions
* don't recurse over folders that you know won't be relevant
* remove empty folders
* add a migration API
* fix some minor bugs with asynchrony
* lint compliance
ansuz 7b55df5931 rewrite task execution as API instead of a script
ansuz 253545636b add a note to fix some weird behaviour in storage/file
ansuz e1e6d51038 new logging api
ansuz fc43c08baf un-break all the imports in tasks.js
ansuz 51fae45cce add notes re: logging and cold storage
ansuz 0a1971cfee improved support for nested data directories
ansuz 1600f800e8 add a todo for flat file db atime
yflory ef0c08130d Stop the process when expire-channels is done
ansuz 8e2c9ebfa3 lint compliance or something
ansuz b4b51ed86a add a subsystem for scheduling tasks