Skip to content

Commit

Permalink
v0.1.8
Browse files Browse the repository at this point in the history
  • Loading branch information
alecmocatta committed Nov 14, 2019
1 parent f6d4f03 commit 73deeb3
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 16 deletions.
6 changes: 3 additions & 3 deletions Cargo.toml
Expand Up @@ -2,7 +2,7 @@

[package]
name = "constellation-rs"
version = "0.1.7"
version = "0.1.8"
license = "Apache-2.0"
authors = ["Alec Mocatta <alec@mocatta.net>"]
categories = ["development-tools","network-programming","concurrency","asynchronous","command-line-utilities"]
Expand All @@ -12,7 +12,7 @@ Constellation is a framework for Rust (nightly) that aides in the writing, debug
"""
repository = "https://github.com/alecmocatta/constellation"
homepage = "https://github.com/alecmocatta/constellation"
documentation = "https://docs.rs/constellation-rs/0.1.7"
documentation = "https://docs.rs/constellation-rs/0.1.8"
readme = "README.md"
links = "constellation"
edition = "2018"
Expand All @@ -31,7 +31,7 @@ no_alloc = ["constellation-internal/no_alloc"]
kubernetes = ["distribute_binaries", "kube", "openssl"]

[dependencies]
constellation-internal = { path = "constellation-internal", version = "=0.1.7" }
constellation-internal = { path = "constellation-internal", version = "=0.1.8" }
atty = "0.2"
backtrace = "0.3"
bincode = "1.2"
Expand Down
14 changes: 7 additions & 7 deletions README.md
Expand Up @@ -13,7 +13,7 @@
</p>

<p align="center">
<a href="https://docs.rs/constellation-rs/0.1.7">Docs</a>
<a href="https://docs.rs/constellation-rs/0.1.8">Docs</a>
</p>

Constellation is a framework for Rust (nightly) that aides in the writing, debugging and deployment of distributed programs. It draws heavily from [Erlang/OTP](https://en.wikipedia.org/wiki/Erlang_(programming_language)), [MPI](https://en.wikipedia.org/wiki/Message_Passing_Interface), and [CSP](https://en.wikipedia.org/wiki/Communicating_sequential_processes); and leverages the Rust ecosystem where it can including [serde](https://serde.rs/) + [bincode](https://github.com/servo/bincode) for network serialization, and [mio](https://github.com/tokio-rs/mio) and [futures-rs](https://github.com/rust-lang-nursery/futures-rs) for asynchronous channels over TCP.
Expand All @@ -27,13 +27,13 @@ For leveraging Constellation directly, read on.

## Constellation framework

* Constellation is a framework that's initialised with a call to [`init()`](https://docs.rs/constellation-rs/0.1.7/constellation/fn.init.html) at the beginning of your program.
* You can [`spawn(closure)`](https://docs.rs/constellation-rs/0.1.7/constellation/fn.spawn.html) new processes, which run `closure`.
* Constellation is a framework that's initialised with a call to [`init()`](https://docs.rs/constellation-rs/0.1.8/constellation/fn.init.html) at the beginning of your program.
* You can [`spawn(closure)`](https://docs.rs/constellation-rs/0.1.8/constellation/fn.spawn.html) new processes, which run `closure`.
* `spawn(closure)` returns the Pid of the new process.
* You can communicate between processes by creating channels with [`Sender::new(remote_pid)`](https://docs.rs/constellation-rs/0.1.7/constellation/struct.Sender.html#method.new) and [`Receiver::new(remote_pid)`](https://docs.rs/constellation-rs/0.1.7/constellation/struct.Receiver.html#method.new).
* Channels can be used asynchronously with [`sender.send(value).await`](https://docs.rs/constellation-rs/0.1.7/constellation/struct.Sender.html#method.send) and [`receiver.recv().await`](https://docs.rs/constellation-rs/0.1.7/constellation/struct.Receiver.html#method.recv).
* You can communicate between processes by creating channels with [`Sender::new(remote_pid)`](https://docs.rs/constellation-rs/0.1.8/constellation/struct.Sender.html#method.new) and [`Receiver::new(remote_pid)`](https://docs.rs/constellation-rs/0.1.8/constellation/struct.Receiver.html#method.new).
* Channels can be used asynchronously with [`sender.send(value).await`](https://docs.rs/constellation-rs/0.1.8/constellation/struct.Sender.html#method.send) and [`receiver.recv().await`](https://docs.rs/constellation-rs/0.1.8/constellation/struct.Receiver.html#method.recv).
* [futures-rs](https://github.com/rust-lang-nursery/futures-rs) provides useful functions and adapters including `select()` and `join()` for working with channels.
* You can also block on channels with the [`.block()`](https://docs.rs/constellation-rs/0.1.7/constellation/trait.FutureExt1.html#method.block) convenience method: `sender.send().block()` and `receiver.recv().block()`.
* You can also block on channels with the [`.block()`](https://docs.rs/constellation-rs/0.1.8/constellation/trait.FutureExt1.html#method.block) convenience method: `sender.send().block()` and `receiver.recv().block()`.
* For more information on asynchronous programming in Rust check out the [Async Book](https://rust-lang.github.io/async-book/index.html)!

Here's a simple example recursively spawning processes to distribute the task of finding Fibonacci numbers:
Expand Down Expand Up @@ -248,7 +248,7 @@ Please file an issue if you experience any other requirements.

## API

[see Rust doc](https://docs.rs/constellation-rs/0.1.7)
[see Rust doc](https://docs.rs/constellation-rs/0.1.8)

## Testing

Expand Down
4 changes: 2 additions & 2 deletions constellation-internal/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "constellation-internal"
version = "0.1.7"
version = "0.1.8"
license = "Apache-2.0"
authors = ["Alec Mocatta <alec@mocatta.net>"]
categories = ["development-tools","network-programming","concurrency","asynchronous"]
Expand All @@ -10,7 +10,7 @@ Common components for the `constellation` framework.
"""
repository = "https://github.com/alecmocatta/constellation"
homepage = "https://github.com/alecmocatta/constellation"
documentation = "https://docs.rs/constellation-internal/0.1.7"
documentation = "https://docs.rs/constellation-internal/0.1.8"
edition = "2018"

[features]
Expand Down
2 changes: 1 addition & 1 deletion constellation-internal/src/lib.rs
@@ -1,4 +1,4 @@
#![doc(html_root_url = "https://docs.rs/constellation-internal/0.1.7")]
#![doc(html_root_url = "https://docs.rs/constellation-internal/0.1.8")]
#![warn(
// missing_copy_implementations,
missing_debug_implementations,
Expand Down
4 changes: 2 additions & 2 deletions k8s.yaml
Expand Up @@ -27,7 +27,7 @@ spec:
spec:
containers:
- name: constellation
image: constellationrs/constellation:0.1.7
image: constellationrs/constellation:0.1.8
args:
- kube
- 0.0.0.0:32123
Expand Down Expand Up @@ -68,7 +68,7 @@ spec:
spec:
containers:
- name: constellation
image: constellationrs/constellation:0.1.7
image: constellationrs/constellation:0.1.8
args:
- 0.0.0.0:32123
env:
Expand Down
2 changes: 1 addition & 1 deletion src/lib.rs
Expand Up @@ -9,7 +9,7 @@
//!
//! The only requirement to use is that [`init()`](init) must be called immediately inside your application's `main()` function.

#![doc(html_root_url = "https://docs.rs/constellation-rs/0.1.7")]
#![doc(html_root_url = "https://docs.rs/constellation-rs/0.1.8")]
#![cfg_attr(feature = "nightly", feature(read_initializer))]
#![warn(
missing_copy_implementations,
Expand Down

0 comments on commit 73deeb3

Please sign in to comment.