-
-
Notifications
You must be signed in to change notification settings - Fork 119
Open
Labels
Refactormod:baseRelated to base module(jwst)Related to base module(jwst)mod:libsRelated to the libsRelated to the libsmod:storageRelated to storage module(jwst-storage)Related to storage module(jwst-storage)mod:syncRelated to sync module(jwst-rpc)Related to sync module(jwst-rpc)storyFeatures perceivable by end-usersFeatures perceivable by end-users
Description
currently we have the following features coupled in core/rpc/storage:
- core: full text indexing, single page extract
- rpc: websocket/webrtc connector
- storage: image minify, stream storage, database/s3 support
these features need to introduce additional dependencies, making testing and compiling time longer
at present, cargo features are used to switch these functions, which requires us to include a lot of conditional judgments in the code, and making the code difficult to maintain
therefore, we need to design a plugin mechanism to make these features pluggable, which makes the code easier to maintain and facilitates external developers easily to develop new functions
Metadata
Metadata
Assignees
Labels
Refactormod:baseRelated to base module(jwst)Related to base module(jwst)mod:libsRelated to the libsRelated to the libsmod:storageRelated to storage module(jwst-storage)Related to storage module(jwst-storage)mod:syncRelated to sync module(jwst-rpc)Related to sync module(jwst-rpc)storyFeatures perceivable by end-usersFeatures perceivable by end-users