implement an actor-approach to file indexing
the approach involves using actix-core to represent three types of actors
- single-thread database actor, holds the only database connection
- single file scan actor
- maybe running in main thread?
- the point is that it's the main driver for the others
- sends messages that wait for responses to the database actor (except for deletes)
- sends messages to the update actor, without waiting for response
- possibly multi-threaded update response actors
- file reads in response to messages from file scan actor
- sends messages to db actor, some wait some don't
todo
-
alternatively, just use channels and hack it up -
implement database actor -
implement FileIndex
as a wrapper for the address of the db actor. it'll use messages.
-
-
implement integration test that does file index passes against db actor -
move note indexing (i.e. update event handling) into a separate thread
Edited by Aidan Coyne