Skip to content
This repository has been archived by the owner on Nov 15, 2019. It is now read-only.

Commit

Permalink
Merge pull request #765 from ustulation/master
Browse files Browse the repository at this point in the history
Version change to 0.15.0
  • Loading branch information
Viv Rajkumar committed Jun 14, 2016
2 parents 40564bc + b13a0a1 commit 3b327aa
Show file tree
Hide file tree
Showing 13 changed files with 23 additions and 2,017 deletions.
18 changes: 18 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,23 @@
# CRUST - Change Log

## [0.15.0]
- Integrate with mio
- This currently uses a temporary mio fork (`tmp_mio`) [with windows bug fix](https://github.com/carllerche/mio/pull/401).
- Redesign with State Pattern.
- Bring number of persistent threads in crust to 1.
- Previously we would have multiple threads _per connection_ leading to huge number of context switches which was inefficient. It was not uncommon to see more than 200 threads for a little over 60 connections (Routing Table size > 60).
- Now in many of our tests where cpu would constantly hover around 100%, we have cpu now calm at around 1-5% and peaks to 30% temporarily only during peak stress (Lot of churn and data exchange).
- Make all system calls async.
- Switch from application level concurrency primitives to operating system level concurrency.
- Now with event based mechanism, when kernel is not ready for some state we steal that opportunity to have it service some other state it is ready for which keeps the event pipeline hot and optimal.
- Attempt bootstrapping in parallel.
- This increases the speed of bootstrap process. Previously the sequential bootstrap meant we went to next potential peer only if the currently attempted one failed.
- Remove some of the 1st party dependant crates and move it in as modules.
- Cleaned out crust config file removing deprecated options.
- Integrate stun service into connection listeners instead of having them as separate peers.
- Crust API updates to rename OurConnectionInfo, TheirConnectionInfo to PrivConnectionInfo and PubConnectionInfo.
- Support bootstrap blacklist.

## [0.14.0]
- Depend on maidsafe_utilities 0.6.0.
- Fix endianness issue.
Expand Down
50 changes: 5 additions & 45 deletions Cargo.toml
Expand Up @@ -7,14 +7,12 @@ license = "GPL-3.0/MaidSafe.net Commercial License 1.0"
name = "crust"
readme = "README.md"
repository = "https://github.com/maidsafe/crust"
version = "0.14.0"
version = "0.15.0"

[dependencies]
byteorder = "~0.5.1"
clippy = {version = "~0.0.68", optional = true}
config_file_handler = "~0.3.0"
crossbeam = "~0.2.9"
env_logger = "~0.3.3"
get_if_addrs = "~0.4.0"
igd = "~0.4.2"
log = "~0.3.6"
Expand All @@ -27,47 +25,9 @@ socket_addr = "~0.1.0"
sodiumoxide = "~0.0.10"
tmp_mio = "~0.5.2"

[dependencies.clippy]
optional = true
version = "~0.0.76"

[dev-dependencies]
docopt = "~0.6.80"
void = "~1.0.2"

[[example]]
bench = false
name = "simple_demo"
path = "examples/simple_demo.rs"
test = false

[[example]]
bench = false
name = "simple_sender"
path = "examples/simple_sender.rs"
test = false

[[example]]
bench = false
name = "simple_receiver"
path = "examples/simple_receiver.rs"
test = false

[[example]]
bench = false
name = "crust_peer"
path = "examples/crust_peer.rs"
test = false

[[example]]
bench = false
name = "reporter"
path = "examples/reporter.rs"
test = false

[[example]]
bench = false
name = "simple_benchmark"
path = "examples/simple_benchmark.rs"
test = false

[[test]]
name = "send_and_receive"
path = "tests/send_and_receive.rs"
test = false

0 comments on commit 3b327aa

Please sign in to comment.