Skip to content

Commit 31b32c3

Browse files
committed
Added readme text.
1 parent 49e878b commit 31b32c3

File tree

2 files changed

+38
-19
lines changed

2 files changed

+38
-19
lines changed

DEVELOPMENT.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# SwimOS Development Guid
2+
3+
## Dependencies
4+
[Formatting](https://github.com/rust-lang/rustfmt): `rustup component add rustfmt`<br>
5+
[Clippy](https://github.com/rust-lang/rust-clippy): `rustup component add clippy`<br>
6+
[Tarpaulin](https://github.com/xd009642/tarpaulin) `cargo install cargo-tarpaulin`<br>
7+
8+
## Unit tests
9+
#### Basic: `cargo test`
10+
#### With coverage: `cargo tarpaulin --ignore-tests -o Html -t 300`
11+
12+
## Lint
13+
#### Manual
14+
1) `cargo fmt --all -- --check`
15+
2) `cargo clippy --all-features --workspace --all-targets -- -D warnings`
16+
17+
#### Automatic (before commit):
18+
- Install hook: `sh ./install-commit-hook.sh`
19+
- Remove hook: `sh ./remove-commit-hook.sh`
20+
21+
Note: The pre-commit hooks take a while to run all checks.

README.md

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,22 @@
33
<a href="https://www.swimos.org"><img src="https://docs.swimos.org/readme/marlin-blue.svg" align="left"></a>
44
<br><br><br><br>
55

6+
The Swim Rust SDK contains software framework for building stateful applications that can be interacted
7+
with via multiplexed streaming APIs. It is built on top of the [Tokio asynchronous runtime](https://tokio.rs/)
8+
and a Tokio runtime is required for any Swim application.
9+
10+
Each application consists of some number of stateful agents, each of which runs as a separate Tokio task
11+
and can be individually addressed by a URI. An agent may have both public and private state which can either
12+
be held solely in memory or, optionally, in persistent storage. The public state of the agent consists of a
13+
number of lanes, analogous to a field in a record. There are multiple kinds of lanes that, for example, lanes
14+
containing single values and those containing a map of key-value pairs.
15+
16+
The state of any lane can be observed by establishing a link to it (either from another agent instance or a
17+
dedicated client). A established link will push all updates to the state of that lane to the subscriber and
18+
will also allow the subscriber to request changes to the state (for lane kinds that support this). Links
19+
operate over a web-socket connection and are multiplexed, meaning that links to multiple lanes on the same
20+
host can share a single web-socket connection.
21+
622
## Usage Guides
723

824
[Implementing Swim Agents in Rust](docs/agent.md)
@@ -14,22 +30,4 @@
1430
TODO
1531
## Development
1632

17-
### Dependencies
18-
[Formatting](https://github.com/rust-lang/rustfmt): `rustup component add rustfmt`<br>
19-
[Clippy](https://github.com/rust-lang/rust-clippy): `rustup component add clippy`<br>
20-
[Tarpaulin](https://github.com/xd009642/tarpaulin) `cargo install cargo-tarpaulin`<br>
21-
22-
### Unit tests
23-
##### Basic: `cargo test`
24-
##### With coverage: `cargo tarpaulin --ignore-tests -o Html -t 300`
25-
26-
### Lint
27-
##### Manual
28-
1) `cargo fmt --all -- --check`
29-
2) `cargo clippy --all-features --workspace --all-targets -- -D warnings`
30-
31-
##### Automatic (before commit):
32-
- Install hook: `sh ./install-commit-hook.sh`
33-
- Remove hook: `sh ./remove-commit-hook.sh`
34-
35-
Note: The pre-commit hooks take a while to run all checks.
33+
See the [development guide](DEVELOPMENT.md);

0 commit comments

Comments
 (0)