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
currently we have the following features coupled in core/rpc/storage:
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