sn_client
Compatability
sn_node
: 0.58.X
Overview
sn_client
interface against the sn_node crate.
Features
"default": This is our standard setup
(Helps with detecting bugs)
- Msg all elders for cmds + elders wait on all acks from adults
- Msg three elders for queries to one adult + wait on all responses from elders
"check-replicas": this is used for all CI runs right now.
(Verifies data was stored)
- Msg three elders for queries to all adults + wait on all responses
"msg-happy-path" [client side]: this is used for sn_client e2e CI runs right now.
- Msg one elder for cmds/queries
"msg-happy-path" [node side]: this is to be eventually added to CI runs.
- Elder waits on one ack/response from adults
Testing
"check-replicas"
which is asdefault
but makes sure each adult is storing data."msg-happy-path"
the least reliable setup, but also least resource demanding."msg-happy-path"
churn testing, i.e. are we slowly losing more data (todo).
Eventually (todo), the "check-replicas"
feat will only run under the "msg-happy-path"
(makes sense to check replicas after using the happy path, and if check replicas works fine with happy path, shouldn't need testing without it).
Crate Dependencies
Crate dependencies graph:
Legend
Dependencies are coloured depending on their kind:
- Black: regular dependency
- Purple: build dependency
- Blue: dev dependency
- Red: optional dependency
A dependency can be of more than one kind. In such cases, it is coloured with the following priority:
Regular -> Build -> Dev -> Optional
Click here for an overview of the interdependencies of all the main MaidSafe components.
License
This Safe Network library is licensed under the General Public License (GPL), version 3 (LICENSE http://www.gnu.org/licenses/gpl-3.0.en.html).
Linking exception
sn_client is licensed under GPLv3 with linking exception. This means you can link to and use the library from any program, proprietary or open source; paid or gratis. However, if you modify sn_client, you must distribute the source to your modified version under the terms of the GPLv3.
See the LICENSE file for more details.